2010-09-28 78 views
4

我有一個SSIS(超)包,由幾個(約)40包,每一個有幾個數據流任務,其中大部分裝載一些Excel數據到SQLSERVER數據庫。所以我有幾個excel源連接管理器,每個excel文件一個。 這一直工作得很好,直到最近,我在我的包(其中有目的地SQLSERVER表要加載的Excel中添加一列),但我不能編輯在SSIS的Excel源之一更改一個Excel來源:當我點擊「列」時,出現錯誤框「DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER」。所以這是一個設計時間問題,而不是運行時問題。我在stackoverflow上看到過這樣的問題,但沒有回答。任何人有想法?SSIS Excel源無法在設計時獲取的連接管理器

  • 我以前已經刪除Office 2007和我的機器上重新安裝Office 2003的,但這並沒有幫助
  • 它無關,與64位模式,這是我讀過關於這裏
  • 是ssis中連接管理器的數量有限制嗎?
  • 我的大部分連接管理器,用複製/粘貼創建,因此它們具有相同的標識,但它們指向不同的Excel文件。這可能是一個問題嗎?

我還應該提到該軟件包運行沒有任何問題,所以它只是「編輯/更改」不起作用的軟件包。目前,我通過禁用應該更改的數據流並將其替換爲硬編碼的sql語句將excel中的數據插入目標表中來解決此問題。 也許另一件值得一提的事情是:我可以創建一個新的包,並且可以毫無問題地添加和更改excel源代碼,但是當我嘗試在我的包中複製這個excel源代碼時,我無法編輯它。

回答

3

你嘗試去檢查源連接的高級選項? 右鍵單擊組件並選擇「顯示高級編輯器...」 選擇列映射選項卡,然後按刷新按鈕。

這應該指出的是,XLS連接有一些額外的列或您所指向的文件,不能在運行時預先驗證。

M.

+0

不幸的是,當我去到列映射的高級編輯器,我得到同樣的錯誤如上(cannotacquireconnectionfromconnectionmanager) – 2010-09-29 11:59:45

+0

是您的連接管理器指向有效的XLS?當你嘗試這個時,該文件是否關閉? – 2010-09-29 12:27:10

+0

這是一個有效的xls,它已關閉。該包運行沒有問題,我只是不能改變Excel的源代碼。 – 2010-09-30 06:02:48

1

我不知道這是否會工作,但嘗試在BIDS/VS的SSIS菜單脫機工作選項。在編輯組件之前,應該做的是而不是驗證連接。它可能能夠讓你進入組件。

+0

你說得對,當你脫機工作時組件沒有被驗證,但是一旦你想編輯組件,你會得到一個錯誤信息,你必須取消選中「脫機工作」才能編輯組件。 – 2010-09-30 06:06:47

相關問題