Biarkan saya memulai dengan menjelaskan bahwa ini bukan pertanyaan duplikat , atau potensi duplikat dalam hal ini. Saya telah mencoba menerapkan setiap jawaban untuk setiap varian tunggal yang sudah ada dari masalah ini di StackOverflow dan DBA Stack Exchange, tanpa hasil.
Saya telah berjuang dengan masalah ini selama dua hari terakhir (mengerjakannya selama sekitar 7 jam sehari), dan bahkan setelah Googling masalah ini, tampaknya tidak ada orang lain yang memiliki varian persis yang sama dengan masalah saya.
Apa yang saya coba lakukan?
Di SSIS, saya mencoba membaca dari file CSV, dan menyisipkan baris dari itu ke dalam database OLE DB. Untuk itu, saya telah membuat pengaturan paling sederhana yang pernah ada, lihat di bawah.
Flat File Source
- membaca baris CSV.Derived Column
- Saat ini tidak melakukan apa-apa (hanya ada untuk percobaan).Data Conversion
- Saat ini tidak melakukan apa-apa (hanya ada untuk percobaan).OLE DB Destination
- menyimpan baris dalam database.
Ketika saya mencoba menjalankannya, itu berhenti mengeksekusi di OLE DB Destination saya dengan pesan kesalahan berikut.
Ada kesalahan dengan kolom input "Jumlah" (187) pada input "OLE DB Tujuan Input" (51). Status kolom yang dikembalikan adalah: "Nilai tidak dapat dikonversi karena potensi hilangnya data.".
Kolom yang gagal ( Amount
) saat ini bertipe DT_STR
. Tampaknya itu tipe yang paling saya percayai saat ini.
Apa yang sudah saya coba?
- Saya sudah mencoba menggunakan fungsi
Flat File Connection
"Sarankan Jenis" pada kolom yang gagal. Ini membuatnya merekomendasikanSingle byte signed int
tipe data.- Berhenti di Sumber File Flat saya .
- Kesalahannya adalah Konversi data gagal. Konversi data untuk kolom "Jumlah" mengembalikan nilai status 2 dan teks status "Nilai tidak dapat dikonversi karena potensi hilangnya data.".
- Saya sudah mencoba menggunakan
Derived Column
untuk melemparkan kolom ke dalamDT_I4
.- Berhenti di Kolom Turunan Saya .
- Kesalahannya adalah Konversi data gagal. Konversi data untuk kolom "Jumlah" mengembalikan nilai status 2 dan teks status "Nilai tidak dapat dikonversi karena potensi hilangnya data.".
- Saya sudah mencoba menggunakan
Data Conversion
untuk membuang nilai kolom saya ke aDT_I4
.- Berhenti di saya
Data Conversion
. - Kesalahannya adalah Konversi data gagal. Konversi data untuk kolom "Jumlah" mengembalikan nilai status 2 dan teks status "Nilai tidak dapat dikonversi karena potensi hilangnya data.".
- Berhenti di saya
- Saya sudah mencoba mengubah panjang
DT_STR
nilai saya di sumber dan tujuan.- Berhenti di sumber atau tujuan tergantung pada pengaturan.
- Saya sudah mencoba menghubungkan menggunakan konektor Excel Source sebagai gantinya dengan dan tanpa
IMEX=1
ditambahkan ke string koneksi. Tidak berhasil
Pemahaman pemrograman saya memberi tahu saya bahwa saya kacau. Saya tidak pernah mengalami masalah sebesar ini untuk hal yang sederhana.
Dan mengapa saya tidak bisa mengabaikan "potensi" kehilangan data? Sungguh frustasi untuk sedikitnya.
Sistem saya
Ini adalah mesin Windows Server 2008 R2 dengan SQL Server 2008 diinstal. Mesin itu sendiri sepenuhnya diperbarui melalui Pembaruan Windows.
Amount
?
Amount
kolom. Ambil tangkapan layar dan harap perbarui pertanyaan Anda dengan gambar ini.