【问题标题】:Sqlprojects: Stores and views with references to other database not compilingSqlprojects:引用其他数据库的存储和视图未编译
【发布时间】:2013-08-30 13:20:12
【问题描述】:

我有一个用于数据仓库的数据库,其中包含超过 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] 的未解决引用。

我该如何解决这个问题?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 彼得,我会测试一下,在你的博客上做得很好,请继续在 SSDT 上发帖!我实际上是在尝试建立一个基于 SSDT 的 LifeCycle,但我在数据加密和部署方面也遇到了一些麻烦。我应该在 UAT、生产和开发环境中设置不同的键。这听起来很像你在上一篇文章中所做的工作,但我是这项技术的新手,所以我将在推断如何做我需要的事情上做很多努力。如果您有新条目的计划,请考虑在 dacpac deploy 上编写一个,在每个 env 上使用不同的字段加密(对于相同的字段)。 KeepUpTGoodWrk!
    • 我会看看我能做什么,但我们现在不倾向于使用 SQL 数据加密。我想你可以用部分项目来做到这一点——对所有未加密的项目使用一个主项目,对带有加密列的对象使用不同的项目。您将在子项目中包含您的主项目并部署这些子项目。 Jamie Thomson 在这里写了博客:sqlblog.com/blogs/jamie_thomson/archive/2013/03/10/…
    猜你喜欢
    • 2018-06-05
    • 2018-10-24
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多