2015-08-19 78 views
0

2005年我有一個SSIS包。當我通過「SQL Server商業智能開發工作室」運行包時,它運行得很好,但是當我通過.bat文件運行包時它顯示了以下問題:類未註冊:SSIS包2005

來源:SSIS_Extract連接管理器 「MYDataba SE」 說明:發生OLE DB錯誤。錯誤代碼:0x80040154。 OLE DB記錄可用。源:「Microsoft OLE DB服務組件」H 結果:0x80040154描述:「類未註冊」。 結束錯誤

下面是.bat文件內容

Echo on 

DTEXEC /FILE "SSIS_Extract.dtsx" 
/CONFIGFILE "Extract_Config.dtsConfig" /MAXCONCURRENT 
" -1 " /CHECKPOINTING OFF /REPORTING EW 

echo %ErrorLevel% 

pause 

同樣的SSIS包在運行Windows 7 64位,但不能在Windows 7 32.可能有問題的64到32位。有什麼方法可以轉換現有的ssis軟件包,以便它可以在Windows 7 32位或Windows Sever 2012 32位中運行。

任何人都可以幫我解決這個問題。

+0

發佈「bat文件」的內容。你如何運行它?雙擊它或通過SQL Server代理運行它? –

+0

添加了.bat文件內容。雙擊運行bat文件或右鍵單擊管理員。 –

+0

有沒有關於連接管理器提到的任何有趣的事情?這可能是一個32/64位的東西。 VS運行爲32位。您引用的DTExec.exe可能是64位或32位。看看這個 - 明確使用32位DTExec。 http://help.pragmaticworks.com/dtsxchange/scr/FAQ%20-%20How%20to%20run%20SSIS%20Packages%20using%2032bit%20drivers%20on%2064bit%20machine.htm –

回答

0

謝謝大家的支持。我得到了解決方案。在SSIS包中提到了OLEDB連接

數據源= xxxxx;用戶ID = xxxx;密碼= XXXX;初始 目錄= XXXXXXXXXXXX;供應商= SQLNCLI10.1

我改變了連接字符串中提供,現在工作得很好。

Data Source = xxxxx; User ID = xxxx;密碼= xxxx;初始 目錄= xxxxxxxxxxxx;提供者= SQLOLEDB.1

+0

這並不能解釋爲什麼它以單向而不是其他方式工作,但我很高興你解決了你的問題,並且很高興你回來併發布它 –