簡體   English   中英

SSIS包在服務器上手動執行時運行,但從命令行(dtexec)運行時失敗

[英]SSIS package runs when executed manually on server, but fails when run from Command Line (dtexec)

我在通過命令行實用程序dtexec實現SSIS包的執行時遇到麻煩。 我正在使用Integration Services和Business Intelligence Development Studio(VS)在SQL 2012服務器(64位)上實現此過程。

該軟件包將接收一些日志文件,對其進行一些處理,然后將其導出到excel。 (我已強制啟用32位執行

當在Visual Studio中運行時,或者在package.dtsx文件上單擊並手動執行時,它可以在服務器上正常運行。

通過dtexec和命令行運行時,出現ACE.OLEDB.12未注冊錯誤。

錯誤的屏幕截圖

這對我來說沒有任何意義,因為我知道我已經安裝了驅動程序,並且該驅動程序在具有相同軟件包設置的同一服務器上手動運行。

在過去的兩天里,我一直在搜尋,收效甚微,任何幫助將不勝感激!

發生此錯誤是因為命令行調用64位DTExec實用程序,該實用程序使程序包在64位運行時模式下運行,但是,僅安裝了32位Microsoft ACE 12.0 OLE DB驅動程序。 在BIDS中,程序包以32位運行時模式運行(IS項目的Run64BitRuntime屬性應設置為False),因此,程序包可以成功執行。 要解決此問題,您可以在命令行中指定32位DTExec.exe實用程序,例如:

"C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe" /f yourPackagePath 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM