1

我有一个我一直在开发的自定义模块(在 DNN 7.1 中),然后使用 EVS(扩展验证系统)进行测试。我只剩下一个错误,我不知道如何解决它。

这是错误:

扩展消息 ID:664647

分机号:60892

消息类型 ID:1

消息 ID:b25d95e3-06d0-4241-9729-96f85cfddcbf

消息:针对 07.01.00 01.00.00.sqldataprovider 进行测试时返回错误:数据库“TestSchema”不存在。

规则:PackageVerification.Rules.SQLTestRunner

TestSchema 不是我创建的 SqlDatProvider 的一部分。此外,我创建的 Sql 数据提供程序在我的本地 SQL 服务器上执行得很好。

有谁知道这个错误来自哪里。EVS 似乎无法创建执行 sql 脚本所需的测试数据库。我希望 EVS 系统生成的错误/警告有更好的文档。

提前致谢

4

2 回答 2

2

在 SQL 安装脚本中,DNN 需要使用两个令牌{databaseOwner}{objectQualifier}. 当 EVS 测试这些令牌的正确用法时,{databaseOwner}它会替换为“TestSchema”并{objectQualifier}替换为“TestQualifier”。您的安装脚本不应该引用数据库名称,因为没有可以替换数据库名称的标记。在 EVS 中,数据库名称是由对 GUID 编码的 base64 自动生成的,它们通常看起来像这样 (Ll0YaJ7lDkST9pwjmVubuQ)。

您是否有“使用”语句或可能有三部分对象引用?(databasename.databaseowner.objectqualifer_objectname)在该示例中,如果您删除了第一部分,然后放入令牌,它将看起来像这样({databaseOwner}{objectQualifier}objectname)

于 2014-04-10T14:35:10.847 回答
1

我在使用有关 Azure 脚本兼容性的 EVS 测试时发现的典型错误是当您在 CREATE 语句中包含“WITH PRIMARY”存储指令时。确保删除这些指令,因为 SQL Azure 不喜欢它们。

于 2014-04-10T13:10:09.247 回答