Jef*_*ata 25 sql-server sql-server-data-tools
我在SSDT中有一个数据库项目,当我导入一个引用不同数据库中的对象的视图时,我得到错误SQL71561,其中的描述如下:
错误4 SQL71561:视图:[schema].[viewname]有一个未解析的对象[other_db]的引用.[schema].[table].[column]
我花了一些时间试图解决这个问题,所以为了帮助其他人遇到这个,我会发布对我有用的答案.
Jef*_*ata 34
为了解决这个问题,我添加了对其他数据库的引用,清除了对话框中的"数据库变量"字段.如果我没有清除此字段,则在进行模式比较时,SSDT将使用数据库变量名生成更新脚本,这将失败.
查看"示例用法"文本并验证它是否按预期显示.单击"确定"以添加引用,这应该处理"未解析的引用"错误.
执行此操作后,我能够进行模式比较,但尝试构建项目会产生以下错误:
错误408 SQL00208:无效的对象名称"db.schema.table".
转到项目属性并取消选中"为常见对象启用扩展的Transact-SQL验证"允许项目成功构建.
Jas*_*ger 12
我的问题来自一个观点.在视图中我有......
...FROM [MyDatabase].[dbo].[MyTable]
Run Code Online (Sandbox Code Playgroud)
我换成了......
...FROM [MyTable]
Run Code Online (Sandbox Code Playgroud)
原因是您可能将bacpac/dacpac导入到不同的数据库名称中,因此对[MyDatabase]的引用可能无效.