2011-02-07 12 views
0

我有一個包,它執行包括大容量插入任務在內的多個任務。從Visual Studio運行時,這是可以的。我有一個做批量插入時將運行相同的包,但未能通過控制檯應用程序。SSIS,大容量插入任務從控制檯應用程序觸發時失敗

與以下錯誤信息出現錯誤:「SSIS錯誤代碼DTS_E_OLEDBERROR出現OLE DB錯誤錯誤代碼:0x80040E21。OLE DB記錄可用。源:「Microsoft OLE DB服務組件」Hresult:0x80040E21描述:「多步OLE DB操作生成的錯誤。檢查每個OLE DB狀態值(如果可用)。沒有工作完成。「。」

Visual Studio和控制檯應用程序都以具有sysadmin角色的相同用戶身份運行。在兩種情況下,相同的程序包在批量插入之前創建一些表,這是成功的。

任何幫助將不勝感激。

UPDATE: 的哪些成功運行的任務使用ADO.NET連接,而大容量插入任務是使用OLEDB。這與它有什麼關係?

回答

0

有些東西干擾了OLEDB連接,我沒有時間去充分調查 - 也許GPO ...?

而不是一個OLEDB連接ADO.NET連接被利用,這意味着我不得不使用SQL任務,而不是一個BULK INSERT任務。

1

這僅僅是一個在黑暗中拍攝...

仔細檢查該文件路徑的至要傳遞到服務器的批量插入文件,在調試器中運行時,它的環境變量可以是非常不同的(它很可能是工作目錄在VS內部設置的,但不是在控制檯內運行時)。將文件從相對路徑更改爲完整路徑可能會解決此問題。

+0

嗨,我檢查了用作文件連接的路徑。他們是絕對的和正確的。 – youwhut 2011-02-07 15:46:06

0

使用高級編輯檢查OLEDB源中的輸出列。檢查數據類型和長度,查找源和目標之間的任何不匹配。

相關問題