【问题标题】:SSDT unresolved reference ERROR SQL71561SSDT 未解析参考 ERROR SQL71561
【发布时间】:2013-10-03 08:10:31
【问题描述】:

我已将数据库导入数据库项目,并且直接从 bat 中收到 200 多个关于未解决引用的错误。现在我已经阅读了几个类似这样的帖子和网站 (http://blogs.msdn.com/b/bahill/archive/2009/08/26/using-self-referencing-or-local-3-part-names.aspx),原因可能是 3 个部分的名称。

解决方案是右键单击数据库项目 > 重构 > 重命名服务器/数据库引用。但是我的窗口与前面提到的网站不同,下拉菜单是空的。我正在将 Visual Studio 2010 Professional 与 SSDT 2010 一起使用。感谢您提供有关如何解决此问题的任何帮助。

我需要导入大约 20 到 30 个数据库,手动纠正所有这些错误几乎是不可能的。

【问题讨论】:

    标签: database visual-studio-2010 sql-server-data-tools


    【解决方案1】:

    如果这些是针对当前数据库的,最好的办法是导入项目,然后替换“MyDBName.dbo”。与“dbo.”。如果您尝试引用其他数据库,您可能应该使用 SQLPackage 为这些数据库提取 dacpac,然后为它们添加数据库引用。添加数据库引用时,请勿选择将这些视为变量的选项,除非这些数据库的名称因环境而异。例如,如果您在项目中引用 MyDB1.dbo.Table1 并且“MyDB1”始终是该数据​​库的名称,则不应尝试使用 DB 变量。

    我已经在我的博客上写过这个。也许这会给出一些更好的例子。

    http://schottsql.blogspot.com/2012/10/ssdt-external-database-references.html

    和

    http://schottsql.blogspot.com/2013/01/ssdt-publishing-and-referenced-databases.html

    【讨论】:

    • 在添加数据库引用时清除自动填充的Database variable: 字段是关键。
    【解决方案2】:

    我以为我遇到了同样的问题,但按照第 4 步解决了它。我首先忘记并留在了变量引用中!清除字段让我的项目正确构建...

    一种可能的解决方案是向具有缺失对象的数据库添加数据库引用。该引用需要一个数据层应用程序(dacpac 文件),该应用程序可以在解决方案上轻松生成,该解决方案具有缺少对象的数据库项目。在数据库项目上按鼠标右键并选择快照项目。 dacpac 文件是在 Snapshots 文件夹中创建的。然后应将该文件复制到一个公共文件夹以供重复使用。

    在出现错误的项目中,在引用上按鼠标右键并选择添加数据库引用。出现添加数据库引用对话框: 1.选择dacpac文件 2.选择数据库位置。最常见的选项是“不同的数据库,相同的服务器” 3.确认数据库名称字段与预期一致 4.清除对话框中的“数据库变量”字段。如果此字段有值,则查询必须使用此变量而不是数据库名称

    【讨论】:

    • 这要求数据库至少构建一次。由于数据库项目构建失败,您无法创建 dacpac。鸡和蛋。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多