2012-07-31 82 views
9

我有一個在VS2008中創建的SQL Server CLR觸發器項目。在VS2012中打開該項目並不存在任何問題,但是在構建解決方案時,我得到SQL71501錯誤,使用觸發器:[...]具有未解析的對象[...]引用。無法將數據庫引用添加到VS2012項目

根據我的閱讀,這是由於項目中缺少數據庫引用。當我嘗試添加數據庫引用,我得到的添加數據庫引用對話框,給了我三個選擇:

  • 數據庫項目在當前解決方案**此選項是灰色/禁用
  • 系統數據庫(僅顯示系統數據庫)
  • 數據層應用程序(.dacpac)**沒有可供選擇的選項,因爲這不是我創建項目的方式。

進一步閱讀表明,沒有數據庫項目選擇第一個選項的原因是因爲沒有通過服務器瀏覽器添加數據連接。在我的情況下,當然存在數據連接,而我的項目是開放的,我可以很高興地瀏覽數據庫,看數據等。

我認爲這可能與目標框架有關,所以我有嘗試瞄準3.5甚至2,但同樣的問題發生。

我覺得我錯過了一些基本的東西,但只是不能解決它。任何幫助將不勝感激。

回答

6

我發現了一個workarroud這一點,是不是最佳的,但至少它的工作原理:

試試這個 - 打開SQL Server對象資源管理器 - 建立到服務器 一個新的連接 - 右鍵單擊​​數據庫然後選擇創建新項目... - 嚮導將創建包含所有引用和連接字符串的項目。

乾杯!

7

我見過這個對話框沒有啓用'OK'按鈕,因爲它默認的數據庫變量是無效的(在我的情況下它有一個'。')。

這是錯誤的線索是,「示例用法」字段中的文本包含錯誤信息 - 很難看到,因爲它是淺灰色的深灰色。

編輯數據庫變量名稱修復了此問題。

+0

拆卸點工作對我來說是內好。使用該變量,您可以創建跨數據庫引用:[$(ServerVariable)]。[$(DatabaseVariable)]。[Schema]。[ObjectDefinition] – Jowen 2015-01-29 13:14:16

0

我改變了我的答案

問題是你不能假定插入爲單行,你真的可以只引用主鍵爲單一值觸發

相關問題