Menebak di sini sementara saya menunggu jawaban atas komentar, umumnya ketika sebuah paket berjalan dengan baik di BIDS tetapi tidak bekerja dari baris perintah, saya menemukan itu terkait dengan ketidakcocokan 64/32 bit.
Apakah Anda menggunakan Excel, Access atau apa pun yang di bawah lembaran menggunakan driver JET? Itu hanya berfungsi dalam mode 32 bit.
Pada OS 64 bit, secara default saat Anda membuat koneksi ODBC baru, Anda akan membuatnya dalam namespace 64 bit yang tidak dapat diakses oleh versi 32bit?
Apakah Anda menggunakan driver Informix atau UDB/DB2? Saya hanya pernah menemukan 32 versi.
Menjalankan paket dari baris perintah
dtexec
adalah mekanisme baris perintah untuk menjalankan paket SSIS. Muncul dalam 2 rasa untuk OS 64 bit, keduanya bernama dtexec
dan umumnya 32 bit direferensikan dalam variabel lingkungan Windows Path
Pada OS 64 bit, jalur default ke 64 bit adalah "c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
Masih pada OS 64 bit, jalur ke versi 32 adalah "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
Untuk menjalankan paket bernama FooBar.dtsx yang tinggal di C:\Src\MyProject\MyProject, pemanggilannya adalah
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx
Jika paket itu hidup di SQL Server (DEVSQL01) di folder MyProject, ini akan menjadi panggilan untuk menjalankan paket yang sama.
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01
Sunting
Untuk menerapkan konfigurasi, Anda perlu menentukan /CONF
pilihan
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx /CONF C:\FooBar.dtsConfig
Melihat komentar Anda, satu-satunya perbedaan antara penggunaan kami adalah Anda telah membungkus semuanya dengan tanda kutip ganda. Cobalah tanpa kutipan sebelum dan sesudahnya.