0

我有一个用于数据仓库的数据库,其中包含超过 1 db 的视图。

因此,在使用我的 qa 和 dev 数据库平衡生产之后,我创建了一个 Sqlproject 以允许我的团队使用 ssdt 以及它提供的所有自动内容。

但是当我尝试编译它时会抛出很多“我没有得到对其他数据库的引用”的错误......

THIS_VIEW.sql(30,27):错误:SQL71561:视图:[dbo].[THIS_VIEW] 对对象 [OTHER_DB].[dbo].[MYTABLE].[FOO] 的引用未解决。

THIS_VIEW.sql(31,25):错误:SQL71561:视图:[dbo].[THIS_VIEW] 对对象 [OTHER_DB].[dbo].[MYTABLE].[BAR] 的引用未解析。

THIS_VIEW.sql(32,4):错误:SQL71561:视图:[dbo].[THIS_VIEW] 对对象 [OTHER_DB].[dbo].[MYTABLE].[BAZ] 的引用未解析。

THIS_VIEW.sql(33,4):错误:SQL71561:视图:[dbo].[THIS_VIEW] 对对象 [OTHER_DB].[dbo].[MYTABLE].[QUX] 的引用未解析。

我怎么能解决这个问题?

4

1 回答 1

2

您需要为您的项目添加一些数据库引用。我通常通过为“Other_DB”数据库创建一个 dacpac 来完成此操作,将其放在所有数据库项目都可以访问的某个位置(通常是解决方案上方的文件夹),并添加一个数据库引用而不选择使用变量为数据库名称。

我已经在我的博客上写了这个:http: //schottsql.blogspot.com/2012/10/ssdt-external-database-references.html

如果 VS/SSDT 不起作用,您可以使用 SQLPackage 从现有数据库中提取 dacpac。我使用 GUI 工具创建 dacpac 文件取得了不同程度的成功。

于 2013-08-30T21:32:10.763 回答