【问题标题】:Dnn Extension Verification System Error testing SQL Azure compatabilityDnn 扩展验证系统错误测试 SQL Azure 兼容性
【发布时间】:2014-04-09 21:44:50
【问题描述】:

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

这是错误:

ExtensionMessageID:664647

分机 ID: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 系统生成的错误/警告有更好的文档。

提前致谢

【问题讨论】:

  • 这可能最好在 DNNSoftware.com 上询问,以联系维护 EVS 的开发人员

标签: dotnetnuke azure-sql-database dotnetnuke-module dotnetnuke-7


【解决方案1】:

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

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

【讨论】:

  • 感谢 Nathan,所以我没有数据库名称或三部分对象引用,但我确实在 objectqualifier 和对象名称之间有一个不需要的点。另外,我有一个不包含 objectQualifier 的约束声明。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2021-05-13
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    相关资源
    最近更新 更多