0

我有一個數據庫製作的數據庫的視圖,旨在超過1分貝。Sqlprojects:存儲和視圖與其他數據庫的引用沒有編譯

因此,在使用我的qa和dev數據庫對生產進行均衡處理之後,我製作了一個Sqlproject,以允許我的團隊使用ssdt以及它提供的所有自動填充。

但是,當我嘗試編譯它拋出很多「我沒有得到參考其他數據庫」錯誤...

THIS_VIEW.sql(30,27): Error: SQL71561: View: [dbo].[THIS_VIEW] has an unresolved reference to object [OTHER_DB].[dbo].[MYTABLE].[FOO].

THIS_VIEW.sql(31,25): Error: SQL71561: View: [dbo].[THIS_VIEW] has an unresolved reference to object [OTHER_DB].[dbo].[MYTABLE].[BAR].

THIS_VIEW.sql(32,4): Error: SQL71561: View: [dbo].[THIS_VIEW] has an unresolved reference to object [OTHER_DB].[dbo].[MYTABLE].[BAZ].

THIS_VIEW.sql(33,4): Error: SQL71561: View: [dbo].[THIS_VIEW] has an unresolved reference to object [OTHER_DB].[dbo].[MYTABLE].[QUX].

我怎麼能解決這個問題?

回答

2

你會想添加一些數據庫引用到你的項目。我通常通過爲「Other_DB」數據庫創建一個dacpac來完成這項工作,將其放置在所有數據庫項目可以訪問的某個位置(通常是解決方案上一級的文件夾),並添加數據庫引用而無需使用變量爲數據庫名稱。 http://schottsql.blogspot.com/2012/10/ssdt-external-database-references.html

您可以使用SQLPackage從現有的數據庫中提取dacpac如果VS/SSDT不起作用:

我已經在我的博客在這裏寫這個了。我使用GUI工具創建了一個dacpac文件,取得了不同的成功。

+0

彼得,我會在你的博客上測試一下,很棒的工作,請繼續在SSDT上發帖! 我實際上試圖建立一個基於SSDT的LifeCycle,但我在數據加密和部署方面也遇到了一些麻煩。 我應該在UAT,生產和開發環境中設置不同的密鑰。這聽起來很像你在最後一篇文章中所做的工作,但我是這個技術的新手,所以我將在推導如何做我需要的內容方面做很多努力。 如果您有新條目的計劃,請考慮在dacpac部署中針對每個env(針對相同字段)使用不同的字段加密編寫一個計劃。 KeepUpTGoodWrk! – apacay

+0

我會看看我能做什麼,但我們現在不傾向於使用SQL數據加密。我想你可以通過部分項目來完成 - 使用一個主項目來處理所有未加密的項目以及加密列的對象的不同項目。您可以將主項目包含在子項目中並部署這些子項目。傑米湯姆森博客在這裏博客:http://sqlblog.com/blogs/jamie_thomson/archive/2013/03/10/deployment-of-client-specific-database-code-using-ssdt.aspx –

相關問題