我正在靠牆撞我的頭,因爲我在VS2012中遇到了一個奇怪的錯誤。 我有一個包含一些同義詞的數據庫項目。它們基本上是對另一個數據庫的表引用,以避免動態SQL生成。我已經爲同義詞添加了所需的參考數據庫。除了幾個使用某些同義詞的觀點,一切都很好!由於我在存儲過程中使用了相同的同義詞,並且它們不會導致任何構建失敗,所以我不確定視圖爲什麼導致問題。
錯誤消息說:「SQL05313:同義詞'xxx'指的是一個無效的對象。' 這裏是一個示例代碼 -
dbo.MyTable.sql ...
CREATE SYNONYM [dbo].[MyTable] FOR [$(FOO_DB)].[dbo].[MyTable];
dbo.MyProc
CREATE [dbo].[MyProc] AS SELECT col1, col2, col3 FROM [dbo].[MyTable];
SUCCESS: this works
dbo.MyView.sql ...
CREATE VIEW [dbo].[MyView] AS SELECT col1, col2, col3 FROM [dbo].[MyTable];
ERROR: SQL05313 Synonym '[dbo].[MyTable]' refers to an invalid object.
有沒有其他人遇到過這個問題?如果是的話,我感謝你的幫助:)在數據庫項目中使用同義詞創建視圖(Visual Studio 2012)
回答
由於某些原因,SP中的引用錯誤被視爲警告,而視圖中的引用錯誤則視爲錯誤。因此,錯誤僅僅意味着對$(FOO_DB)的引用不起作用 - 請仔細檢查變量引用是否設置正確。
如果您正在引用另一個數據庫項目,它必須單獨編譯爲.dacpac(例如,您不能創建循環引用)。如果您確實需要循環引用(在FOO_DB1中引用FOO_DB2,並在FOO_DB2中引用FOO_DB1中的視圖),請查看組合對象(類型相同的數據庫的數據庫引用)。
你好, 我試過你的建議。但我仍然沒有看到我的同義詞。 場景:主項目,外部對象項目。在主項目中,我有一個從同義詞中選擇的視圖。當我構建項目時,我們說在數據庫中找不到同義詞。同義詞被改爲:CREATE SYNONYM [dbo]。[TestSynonym] FOR [$(ExternalServer)]。[$(ExternalDB)]。[dbo]。[Table1]我在ExternalObjects項目中創建了Table1。我還在Main Project中添加了一個數據庫引用給ExternalObject。我錯過了什麼? 謝謝, Alex –
我得到這個錯誤,我最終發現,我已經跑CREATE SYNONYM fred FOR ...
代替CREATE SYNONYM **dbo**.fred FOR ...
因此,創建同義詞以我個人的模式,而不是dbo
,這停止了CREATE VIEW
。 我知道你的代碼包含[dbo].[MyTable]
,但是在你自己的模式中有沒有相同的同義詞,前面的CREATE SYNONYM
命令不包括[dbo]
,這可能會混淆CREATE VIEW
命令?
- 1. Visual Studio數據庫項目不能創建一個同義詞的視圖
- 2. Visual Studio 2012數據庫項目圖視圖
- 3. Visual Studio 2012數據庫圖?
- 4. 如何使用Visual Studio 2012創建SQL Server Reporting Service 2012項目?
- 5. 創建從的Visual Studio 2012項目
- 6. Microsoft Visual Studio 2012掛起創建項目
- 7. Visual Studio 2012 - 無法創建win32項目
- 8. Visual Studio 2012未能創建項目
- 9. 使用SSDT的Visual Studio 2012 SQL數據庫項目
- 10. 如何使用Visual Studio 2010創建Oracle數據庫項目?
- 11. 使用Visual Studio創建SQL數據庫並添加到項目
- 12. 從Visual Studio 2012中克隆的git倉庫創建項目
- 13. Visual Studio 2012數據庫項目 - 構建框架內容失敗
- 14. Visual Studio 2012數據庫項目中未解決的引用
- 15. 如何在Visual Studio 2013中創建數據庫項目
- 16. 在TFS 2008中創建Visual Studio數據庫項目
- 17. 在Visual Studio 2015中爲PostGreSQL創建數據庫項目
- 18. 如何在Visual Studio 2013中創建oracle數據庫項目
- 19. Visual Studio 2010數據庫項目 - 未解決對同義詞的引用
- 20. 在Visual Studio 2012中創建包含setup.exe的數據庫(sql)
- 21. Visual Studio 2012 MVC項目的數據表
- 22. 在Visual Studio 2012數據庫項目中更新數據庫模式
- 23. 使用Visual Studio 2008創建數據庫
- 24. 從數據庫項目Visual Studio 2010創建一個SQL用戶
- 25. 在visual studio 2012中創建WPF安裝項目
- 26. 無法在Visual Studio Express 2012中爲Web創建ASP.NET MVC項目
- 27. 在Visual Studio 2012中創建新的Android項目時出錯
- 28. 無法在Visual Studio 2012中創建Windows Azure項目
- 29. 如何在Visual Studio 2012 RC中創建單元測試項目
- 30. 在Visual Studio 2015中創建數據庫
何時發生此錯誤?你有沒有試過在SSMS中執行腳本? – SouravA
我正在使用vs 2015相同的問題,我面臨着。請任何人得到這個分享的答案。 – Liquid
你有沒有找到解決這個問題的方法? –