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

Menjalankan Paket SSIS yang sama dengan parameter yang berbeda pada waktu yang berbeda

Tantangan dengan menggunakan pendekatan file konfigurasi adalah Anda harus terus-menerus memodifikasi file. SSIS tidak akan memuat ulang file konfigurasi setelah dimulai sehingga Anda mungkin dapat memiliki pekerjaan 20:05 dan 20:35 yang menukar file konfigurasi tetapi itu akan menjadi berantakan dan rusak di beberapa titik.

Saya akan menangani situasi ini dengan variabel baris perintah (/setel opsi di dtexec ). Jika Anda menjalankan paket dari baris perintah, itu akan terlihat seperti dtexec.exe /file MyPackage.dtsx Bahkan jika Anda menggunakan SQL Agent, di balik layar itu membangun argumen baris perintah tersebut.

Pendekatan ini mengasumsikan Anda membuat dua pekerjaan berbeda (vs 1 pekerjaan yang dijadwalkan 2x sehari). AgentMyPackage2011 memiliki langkah pekerjaan SSIS yang menghasilkan

  • dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2011\"

dan AgentMyPackage2012 memiliki langkah pekerjaan SSIS yang menghasilkan

  • dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2012\"

Melalui GUI, itu akan terlihat seperti

Tidak ada GUI atau pemilih untuk properti yang ingin Anda konfigurasikan. Namun, karena Anda telah membuat file .dtsConfig untuk paket Anda, buka file tersebut dan cari bagian seperti

<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Year].Properties[Value]" ValueType="Int32">
<ConfiguredValue>2009</ConfiguredValue>

File sudah memiliki jalur ke "hal" yang Anda coba konfigurasikan, jadi masukkan itu ke dalam program panggilan Anda dan kemudian matikan bagian tahun dari konfigurasi paket.

Terakhir, tautan ke Prioritas Konfigurasi SSIS karena ada perbedaan model 2005 vs 2008. Saya melihat Anda menunjukkan 2008 di tiket Anda, tetapi untuk pembaca di masa mendatang, jika Anda menggunakan /SET dan sumber konfigurasi (xml, server sql, registri, variabel lingkungan) urutan operasi bervariasi antar versi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa T-SQL ISNULL() memotong string dan COALESCE tidak?

  2. Bagaimana COUNT() Bekerja di SQL Server

  3. Dapatkan Daftar semua Kunci Utama dalam Basis Data

  4. Dapatkan Kolom yang Mendasari Tampilan Berdasarkan Kumpulan Hasil-nya

  5. Bagaimana cara mengonversi bilangan bulat (waktu) ke HH:MM:SS::00 di SQL Server 2008?