Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menjalankan Paket SSIS menggunakan dtexec

Kesalahan pertama yang akan saya atasi adalah "Pengelola Koneksi Excel tidak didukung dalam versi 64-bit SSIS, karena tidak ada penyedia OLE DB yang tersedia."

Driver Excel di luar kotak hanya ada di ruang alamat 32 bit. BIDS/SSDT adalah aplikasi 32 bit sehingga sumber dan tujuan Excel berfungsi dengan baik. Namun, ketika Anda menjalankannya dari commandline/SQL Agent, maka Anda perlu menggunakan program DTEXEC versi 32 bit secara eksplisit.

Langkah 1, akan memastikan Anda dapat menjalankan paket dari baris perintah di server yang dijalankan agen sebagai diri Anda sendiri. Dengan asumsi SQL Server Anda diinstal di lokasi biasa, Anda mungkin memiliki salah satu dari DTEXEC.exe berikut yang tersedia untuk Anda

C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTExec.exe
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
C:\Program Files\Microsoft SQL Server\110\DTS\Binn\DTExec.exe
C:\Program Files\Microsoft SQL Server\120\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\DTExec.exe

Anda akan ingin menggunakan versi (x86). Pembaca masa depan, jika Anda menggunakan Windows versi 32 (Windows 2003, mungkin), 3 pertama akan menjadi satu-satunya pilihan yang tersedia untuk Anda. Seperti yang ditunjukkan oleh pesan kesalahan Vivek, dia menjalankan paket SSIS dalam mode 64 bit.

dtexec menyediakan saklar baris perintah /X86 untuk memungkinkan Anda menggunakan executable yang sama dengan mulus untuk operasi 32 dan 64 bit. BOHONG! Dokumentasi memang memanggilnya tetapi siapa yang membaca dokumentasi?

Opsi ini hanya digunakan oleh SQL Server Agent. Opsi ini diabaikan jika Anda menjalankan utilitas dtexec pada prompt perintah.

Jadi, Anda perlu menjalankan paket Anda dengan menyediakan jalur eksplisit

C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe /file C:\folder\GICSReport.dtsx

Saya melihat "Gagal mendekripsi node XML yang dilindungi" di output Anda dan Anda juga menyatakan bahwa Anda menggunakan file konfigurasi sehingga kemungkinan besar Anda dapat mengubah PackageProtectionLevel Anda dari EncryptSensitiveWithUserKey default ke DontSaveSensitive. Fitur itu ada untuk mencegah paparan data sensitif (kata sandi) yang tidak disengaja tetapi karena Anda sudah menanganinya dengan file konfigurasi, itu seharusnya tidak menjadi masalah. ... Itu mungkin sebenarnya kesalahan dari salah satu tingkat perlindungan paket lain sekarang setelah saya memikirkannya.

Bagaimanapun, coba jalankan dari 32 bit yang dapat dieksekusi terlebih dahulu. Jika itu tidak berhasil coba ubah tingkat perlindungan paket seperti yang ditunjukkan. Jika salah satu dari itu membuat paket berjalan seperti yang diharapkan, coba jalankan perintah yang sama dari Agen SQL.

Jika semuanya berhasil, tandai ini sebagai jawabannya. Jika tidak, harap perbarui tiket dengan kesalahan saat ini dan kami akan meminta informasi lebih lanjut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Log Transaksi SQL Server, Bagian 3:Dasar-dasar Pencatatan

  2. Memecahkan Masalah Kehabisan Utas Pekerja

  3. OPENJSON "Sintaks salah di dekat kata kunci 'dengan'." di SQL Server (ASK)

  4. SQL Server *=Operator?

  5. Dapatkan Nama Hari Singkat di SQL Server (T-SQL)