2012-08-08 134 views
17

我對SSIS編程很陌生,在部署SSIS包時遇到了一些問題。包中找不到SSIS連接

這個包正常運行我的電腦上,確實需要做的一切......但是當我部署它無法找到連接字符串。

以下是錯誤:

Code: 0xC001000E Source: Description: The connection "{DA7CD38D-F6AA-4B06-8014-58BEE5684364}" is not found. This error is thrown by Connections collection when the specific connection element is not found. End Error

Error: 2012-08-09 00:21:06.25 Code: 0xC001000E Source: Package Description: The connection "{DA7CD38D-F6AA-4B06-8014-58BEE5684364}" is not found. This error is thrown by Connections collection when the specific connection element is not found. End Error

Error: 2012-08-09 00:21:06.25 Code: 0xC001000E Source: Package Description: The connection "{DA7CD38D-F6AA-4B06-8014-58BEE5684364}" is not found. This error is thrown by Connections collection when the specific connection element is not found. End Error

Error: 2012-08-09 00:21:06.25 Code: 0xC00291EB Source: Execute SQL Task Execute SQL Task Description: Connection manager "{DA7CD38D-F6AA-4B06-8014-58BEE5684364}" does not exist. End Error

Error: 2012-08-09 00:21:06.25 Code: 0xC0024107 Source: Execute SQL Task Description: There were errors during task validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 00:21:04 Finished: 00:21:06 Elapsed: 1.888 seconds. The package execution failed. The step failed.

回答

17

看來你的SSIS包指向這可能是deletedrenamed。嘗試打開SSIS compoenents並指向正確的連接它有一些其他的連接有在你的連接管理器中。

它發生在我們複製SSIS包組件來創建一個新包或因爲重命名連接,或者仍然存在使用您在xml配置文件中定義的舊連接的組件(在您的情況下,請嘗試檢查執行如果你正在使用XML進行配置,請嘗試部署新的配置。

+0

你能告訴我如何到達嗎?我打開之前(刪除爪子,因此它不會解碼包)之前嘗試,但我找不到連接,我尋找dts:連接,但沒有。我會再試一次,但是你能否告訴我,我是否在做一些事情。感謝您的幫助提前:) – Schewns 2012-08-09 08:38:10

+0

和我也試圖創建一個包只與一個簡單的SQL任務,將一個字段從1更改爲0,它給了我同樣的錯誤:( – Schewns 2012-08-09 08:40:24

+1

R你運行包BIDS或使用SQL代理?您是否使用XML配置將連接字符串傳遞給包? – praveen 2012-08-09 13:49:03

4

這似乎當您使用新的SSIS在連接管理不是你的包,但在Visual Studio項目中定義的,只是拿到包引用2012「共享連接管理器」的概念也發生了。通過SQL Agent或DTEXEC執行它會產生相同的錯誤信息。

我還沒有發現針對尚未解決,但希望能得到一些反饋,如果有人之前經歷過。

+0

我所做的是,我重新安裝了我的最後的sql服務器,並重新命名爲重新本地主機。 – Schewns 2013-03-05 16:20:13

+0

@羅伯託安德拉德你能找到解決辦法嗎?我有同樣的問題。 – tsells 2013-07-16 17:37:16

+0

我相信我最終所做的工作就是將SSIS包/項目部署到SQL SSIS目錄中,並從那裏運行它們而不是從外部可執行文件運行它們。 你可以這樣做,在SQL中創建一個SSIS目錄數據庫,然後在VS中右鍵單擊該項目並選擇Deploy並選擇您希望項目在其下生存的正確服務器/目錄和路徑。然後,您可以配置SQL代理作業以從目錄運行包或手動觸發執行。 這也可以通過使用內置的SSRS報告而不是醜陋的代理日誌來幫助執行日誌。 – 2013-07-16 21:25:47

0

我做了什麼來解決這個問題很簡單。 我不得不重命名我的SQL Server,以便它會響應(localhos)標記。 之後,我改變了SSIS上的所有連接,我重建瞭解決方案......它工作。 希望它可以幫助你

+0

這裏的問題不在於主機名無法訪問或某些其他網絡/名稱解析問題,而是找到Visual Studio解決方案/項目/程序包中定義的連接管理器的引用。 – 2013-03-05 19:40:29

2

感謝您發佈此問題。

一項決議:通過Windows資源管理器中打開XML格式的包,找到GUID對於不能找到的連接管理器。在我的情況下,這是一個破壞的EventHandler連接。該控制流中使用了相同的連接管理器,但不知何故在那裏沒有被破壞,所以用戶通過UI並不明顯。由於XML指向事件處理程序連接管理器,因此我在UI中打開了事件處理程序選項卡,並立即在引用損壞的連接管理器標識的源和目標上顯示了美妙的RED X.我將它重新命名爲正確的經理,重建了pkg並保存了下來。很好去。

的關鍵是開放XML格式的PKG和定位GUID的代碼,看看它是失敗。如果我無法在UI中找到對其的有效引用,那麼我將重新將XML連接重命名爲XML中的另一個已知GUID,然後進入UI並重新指定它,或者將其完全刪除。

祝你好運。

+0

這也是我的問題;)經過大量的研究和搜索,我能夠解決它:o – Schewns 2013-10-03 16:59:20

0

包裹週五工作正常,檢查TFS並回家。星期一打開它,無處不在。 「變量集合中找不到連接管理器變量$ project._connectionstring」。

I rtclick-edit連接和測試連接,不可能工作; em。 ConnMnger位於解決方案的連接管理器列表中。當打開連接到這個連接管理器的TARGET對象,並點擊MAPPINGS時,彈出上面的錯誤。映射中的任何位置都沒有對連接管理器變量的引用。

原來,要解決此問題,您必須在連接管理器窗口中右鍵單擊連接管理器並選擇PARAMETERIZE。填寫選項necessar -

財產:的ConnectionString 使用Exisgint參數:$項目:: ConnMgrName_ConnectionString OR 創建新的參數:以下選項

一旦這個連接管理器參數,一切正常。儘管Conn Manger存在於Conn Manger標籤中,但Conn Mgr已經在解決方案資源管理器中列出,並且在2天前沒有任何問題。

奇數。隨你。微軟是微軟。 SQL Server是SQL Server。選擇你的毒藥。

希望這有助於下一個人節省一些時間。

14

我對晚會有點遲到,但是遇到同樣的錯誤並且發現了不同的分辨率時,我碰到了這個線程。

創建SSIS 2012包時,在解決方案資源管理器窗口中,您將看到項目級別的連接管理器文件夾。這似乎是創建連接的最合理的地方,應該在創建項目中的任何軟件包可以使用的連接時使用。它包含在項目級別,而不是包級別。

當使用dtexec運行我的dtsx包時,我收到上面顯示的相同錯誤。這是因爲連接不包含在包中(只是項目)。我的解決方案是進入軟件包設計器,然後在連接管理器窗口中右鍵單擊項目級別連接(使用「(項目)」前綴顯示)並選擇「轉換爲軟件包連接」。這會將連接嵌入到實際的dtsx包中。這緩解了我的問題。

+0

有相同的問題,並認爲它可能是連接管理器和項目級連接(因爲它只是輸出連接失敗,他們在項目級別)。這樣做爲我解決了它。 – MichaelF 2014-08-19 18:09:00

+4

我將此作品形象化,但這是一個荒謬的解決方案。將項目連接轉換爲包連接使所有使用它的其他包都無法訪問。看起來項目級連接只在設計時才起作用。 – 2015-04-28 21:36:56

+1

我剛剛遇到同樣的問題......哪一個chump認爲這是一個設計它的好方法 - 無法通過dtexec使用的項目級連接......必須有一種方法指向可重用連接?? – 72GM 2015-07-09 10:39:06

0

我有同樣的問題,並沒有上述resoved它。事實證明,在我的ssis的右下角有一箇舊的sql任務被禁用,我真的不得不尋找它。一旦我刪除了這一切都很好

0

在我的情況下,其中一個事件處理程序任務指向舊連接被刪除,刪除未使用的事件處理程序任務解決了問題。 我最終打開XML格式的包來理解問題出在事件處理程序任務上!

0

就我而言,我可以用更簡單的方法解決這個問題。我打開了x.dtsConfig存檔文件,由於未知原因,此存檔文件不是標準格式,因此ssis無法識別配置。幸運的是,我之前備份了檔案,所以我只需將它複製到原始文件夾中,並且所有內容都可以重新使用。

0

我在嘗試使用SSDT 2013在VS中打開SSDT 2010/SSIS 2012項目時收到此錯誤。打開項目時,它要求遷移所有軟件包。當我允許它繼續時,每個程序包都會因此錯誤和其他錯誤而失敗。我發現,繞過轉換,並單獨打開每個包,打開包後升級,它轉換得很好,併成功地運行。

0

我在我的情況有同樣的問題,原因是連接沒有嵌入和Oracle客戶端不兼容。

SOLUTION:

我的環境:SQL SERVER 2014的64位 Oracle客戶端32位

  1. 對於包括/嵌入連接

    • 開包
    • 右鍵點擊連接
    • 選擇「轉換爲項目」選項
  2. 爲SQL SSIS目錄/工作時間表設置配置按照圖片的步驟

    • 對上「SQL作業 - >步驟‘或’SSIS目錄 - - >包裝 - >執行」,然後選擇 「屬性」
    • 選擇配置 - >高級選項卡
    • 經過32位運行時

我試圖張貼詳細的一步一步的圖片,但堆棧溢出不允許由於聲譽。希望我以後會更新這篇文章。

0

該解決方案爲我工作:

轉到SQL Server Management Studio中,右鍵單擊失敗的步驟,並選擇屬性 - >日誌記錄 - >刪除日誌提供程序,然後重新添加

2

以前有關刪除或刪除連接的說法絕對是可能的。但是,當您嘗試調用使用項目級連接(而不是程序包級連接)的程序包時,也會出現此錯誤。

如果您使用的是項目級連接,並且仍然想使用dtexec,那麼千萬不要擔心有沒有辦法。我不建議將它們轉換爲包級連接(假設您將它們創建爲項目級連接,原因很充分)。

您將需要部署您的SSIS項目。您的SSIS服務器需要創建一個目錄(https://msdn.microsoft.com/en-us/library/gg471509.aspx)。一旦你有了目錄,在你的SSIS項目中選擇Project-> Deploy並按照嚮導。其結果將是在你的SSIS解決方案文件夾/斌/開發資金命令生成現在

一個* .ispac文件,而不是一個簡單的調用你的包: dtexec.exe/F「package.dtsx」

,而不是把它這種方式: dtexec.exe /項目 「< ...>/project.ispac」/包 「< ...>/package.dtsx」

的ispac文件具有項目級別連接信息是需要執行你的包,你應該設置!

0

導致2008R2問題的另一個排列是Package Configuration。我從dtsconfig文件中設置了要保存/配置的屬性,然後刪除了它引用的連接。該解決方案很簡單,編輯配置並取消選擇不需要的對象,然後爲重命名的連接管理器選擇適當的屬性。 保存,關閉並重新打開項目後,錯誤未再發生。 :-)

0

我確定這個問題是一個腐敗的連接管理器,通過識別失敗的特定連接。我在SQL Server 2016中工作,並且創建了SSISDB目錄,並在那裏部署我的項目。

下面是簡短的答案。刪除連接管理器,然後使用相同的名稱重新創建連接管理器。確保使用該連接的軟件包仍然正確連接,並且您應該很好。如果您不確定如何操作,請參閱下面的詳細步驟。

要確定損壞的連接,我做了以下操作。在SSMS中,我打開了Integration Services Catalogs文件夾,然後打開了SSISDB文件夾,然後打開了解決方案的文件夾,然後打開了該項目的包列表。

通過右鍵單擊失敗的軟件包,轉至報告>標準報告>所有執行,選擇最後一次執行以及查看「所有消息」報告,我可以確定哪個連接失敗。在我的情況下,連接管理器到我的目的地。我只是刪除了連接管理器,然後重新創建了一個具有相同名稱的新連接管理器。然後,我進入我的包,打開數據流,發現我的一些目的地已經點亮了紅色的X.我打開了目的地,重新選擇了正確的連接名稱,重新選擇了目標表,並檢查映射仍然是正確的。我有六個目的地,只有三個有紅色X,但我點擊了所有這些目標,並確保它們仍然配置正確。

2

在我的情況下,我發現問題是以前配置的Log Provider指向不再使用的舊連接。要解決該問題,請單擊包資源管理器選項卡,然後單擊日誌提供程序並刪除過時的日誌提供程序。我希望這可以幫助別人。

+0

它確實幫助我找到了錯誤。我還查看了包的xml文件(.dtsx)並搜索了連接標識符(從消息「未找到連接」,如B23A7735-95AB -.....)。在那裏我發現它是我以前刪除的日誌提供程序連接。在刪除日誌提供程序本身之後,程序包運行平穩。 – 2017-03-08 09:46:11

0

我通常會發現,當SSIS似乎不合理地抱怨一個明顯不錯的連接時,這是因爲我試圖直接使用包變量而不是通過連接管理器來定義連接。例如:今天我有一個Web服務任務,我犯了一個錯誤,就是根據包含Web服務URL的包變量直接創建一個定義其「Connection」屬性的Expression。但請注意,連接與ConnectionString不同!所以當我看着這個任務時,它看起來像所有的事情都是有效的,因爲它顯示了一個完全有效的URL作爲「連接」。問題是連接不能是一個字符串;它必須是連接管理器。

0

作業中的連接值似乎區分大小寫。

+0

這可能是更好的評論...否則,請考慮擴大答案。 – Ray 2017-06-25 15:36:37