SSIS Jalankan variabel Output Tugas SQL

Saya memiliki paket SSIS yang mengambil data dari tabel database dan menampilkannya ke dalam file csv. Di beberapa titik di sepanjang jalan, ada Tugas Jalankan SQL untuk mengambil nama file (Jenis dan nomor urut yang kemudian digunakan untuk membuat nama file, misalnya CAR, 12 akan membuat C0000012.csv. Saya harus bisa untuk melakukan ini sedemikian rupa sehingga tidak ada kesalahan yang terjadi jika tidak ada mobil di tabel saat paket dijalankan.

Untuk melakukan ini, saya telah membuat paket sql yang akan memeriksa hitungan, dan kemudian mengembalikan 'CAR' dan nomor urut jika ada data atau 'NUL' dan 0 jika tidak ada. Saya memiliki dua variabel yang dipetakan sebagai parameter keluaran:

      NAME                   | Direction| Type   | Name | Size
      User::DownloadFileType | Output   | String | TYPE | 3
      User::DownloadFileNum  | Output   | int32  | SEQN | 8

Ketika saya menjalankan paket saya terus mendapatkan kesalahan:

Tipe nilai yang ditetapkan ke variabel "User::DownloadFileType" berbeda dengan tipe variabel saat ini.

Saya telah mencari bantuan online dan sepertinya ada masalah saat mencoba memuat VARCHAR(MAX) ke dalam nilai string SSIS, string database saya bertipe VARCHAR2 (PL SQL) tetapi saya telah menetapkan ukuran maksimal menjadi 3 itu seluruh paket dan masih belum berhasil.

Saya rasa masalahnya mungkin terletak pada fakta bahwa ini adalah tipe VARCHAR2 tetapi saya tidak yakin bagaimana membuatnya kompatibel dengan SSIS. Bantuan apa pun yang dapat Anda tawarkan akan sangat dihargai.

Terima kasih, Steve


person Stephen Leake    schedule 05.07.2013    source sumber


Jawaban (1)


kembalikan 'CAR' dan nomor urut jika ada data atau 'NUL' dan 0 jika tidak ada

Variabel yang diketik string tidak dapat diberi nilai NULL di SSIS. Tetapkan beberapa nilai string kosong sebagai gantinya.

berikan nilai string kembalian dari tipe varchar2 dalam pernyataan pilih Anda ke varchar(3)

misalnya. pilih cast('CAR' sebagai varchar(3)) dari ganda

person S.M    schedule 05.07.2013
comment
Saya pikir itu salah ketik pada posting Anda, kesalahan yang Anda sebutkan disebabkan oleh alasan seperti yang disebutkan - person S.M; 05.07.2013
comment
berikan nilai string kembalian dari tipe varchar2 dalam pernyataan pilih Anda ke varchar(3) misalnya. pilih cast('CAR' sebagai varchar(3)) dari ganda - person S.M; 06.07.2013