![](/img/trans.png)
[英]Visual Studio Database Project - Unresolved Reference to temp table
[英]Visual Studio 2010 Database Project - Unresolved Reference to a Synonym
我們有幾個同義詞用於引用單獨數據庫中的表(位於同一服務器上)。
實際的同義詞很好,但引用所述同義詞的存儲過程/用戶定義函數顯示以下錯誤:
Error 13 SQL03006: Column: [dbo].[GetCocosIndexSearched].[User ID] contains an unresolved reference to an object. Either the object does not exist or the reference is ambiguous because it could refer to any of the following objects: [dbo].[AuditType].[e]::[LOGIN_ID], [dbo].[EMPLOYEES].[e]::[LOGIN_ID], [dbo].[EMPLOYEES].[LOGIN_ID] or [dbo].[SearchCIBirthsRequest].[e]::[LOGIN_ID]. C:\VSTS\Corporate\WARS Audit\MAIN\Source\RBDM.Audit.Database\Schema Objects\Schemas\dbo\Programmability\Functions\GetCocosIndexSearched_1.function.sql 21 5 RBDM.Audit.Database
[dbo].[GetCocosIndexSearched]
是一個函數, [dbo].[EMPLOYEES]
是同義詞。
這些都在實際數據庫本身中工作正常 - 問題僅在於數據庫項目。 我已經嘗試添加對單獨數據庫的引用(通過新的數據庫項目或數據庫項目架構),但隨后會出現與同義詞和引用表的沖突問題:
Error 7 SQL04105: The model already has an element that has the same name dbo.EMPLOYEES. C:\VSTS\Corporate\WARS Audit\MAIN\Source\RBDM.Audit.Database\Schema Objects\Schemas\dbo\Synonyms\EMPLOYEES.synonym.sql 2 1 RBDM.Audit.Database
有任何想法嗎? 在另一個stackoverflow帖子中提到了一個解決方法,討論了如何將創建腳本放在Script.PostDeployment.sql
- 對我來說聽起來有點過於Script.PostDeployment.sql
。
發生這種情況是因為在調用者數據庫中,您必須添加對依賴數據庫的引用,並同時指定數據庫名稱的值。 往下看:
然后,您可以使用以下代碼創建同義詞:
CREATE SYNONYM [dbo].[mytable] FOR [$(MasterDatabase)].[dbo].[mytable]
我有同樣的問題,表同義詞指向與主數據庫在同一服務器上的另一個數據庫。 添加引用幾乎可以用於除了內聯表值函數之外的所有內容。 只要您嘗試使用同義詞
create synonym syn.Table for [$(MyDb)].[dbo].[Table];
在這樣的功能中,錯誤又回來了。 SSDT 2013 Update 4是我的版本。 令人難以置信的是,2016年這樣的錯誤仍然存在於我們身上。 處理同義詞應該是無縫的,因為這是抽象依賴關系的主要機制。 不敢相信它仍然沒有得到糾正。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.