PRB: Transfer Data dari sumber Jet 4.0LEDB gagal dengan Buffer Overflow kesalahan

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 281517 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

GEJALA

Ketika Anda mengimpor data dari sumber data Jet OLEDB 4,0 oleh menggunakan Data transformasi layanan (DTS) dan Microsoft OLE DB penyedia untuk Jet, data pompa tugas mungkin gagal dengan pesan galat ini:
"Kesalahan pada sumber untuk baris nomor 9. kesalahan yang ditemui sejauh dalam tugas ini: 1"
Kesalahan umum:-2147217887(80040E21)
Data untuk sumber kolom 3('Col3') terlalu besar untuk ukuran buffer tertentu.
Jika sumber memiliki bidang dengan lebih dari 255 karakter, tujuan data untuk bidang ini dapat dipotong ke 255 karakter. DTS gagal pada baris pertama yang memiliki lapangan dengan lebih dari 255 karakter. Untuk memverifikasi, lihat nomor baris yang akan ditampilkan di pesan galat.

PENYEBAB

Penyedia Jet OLE DB membaca kunci registri untuk menentukan berapa banyak baris untuk dibaca untuk menebak jenis kolom sumber. Pengaturan registri adalah:

HKLM\Software\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows

Secara default, nilai untuk kunci ini adalah 8. Oleh karena itu, penyedia memindai baris pertama 8 sumber data untuk menentukan tipe data untuk kolom. Jika bidang seperti teks dan panjang data yang lebih dari 255 karakter, kolom diketik sebagai kolom memo. Jadi, jika ada data dengan panjang lebih besar dari 255 karakter di baris pertama 8 sumber, Jet tidak dapat secara akurat menentukan sifat tipe data.

TEKNIK PEMECAHAN MASALAH

Penting Bagian ini, metode, atau tugas yang memuat langkah-langkah yang memberitahu Anda bagaimana memodifikasi registri. Namun, masalah yang serius dapat terjadi apabila Anda salah memodifikasi registri. Oleh karena itu, pastikan Anda mengikuti langkah-langkah tersebut dengan seksama. Untuk perlindungan tambahan, buat cadangan registri sebelum Anda memodifikasi. Kemudian, Anda dapat memulihkan registri apabila terjadi masalah. Untuk informasi selengkapnya tentang cara membuat cadangan dan memulihkan registri, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
322756 Cara membuat cadangan dan memulihkan registri di Windows

Untuk mengubah nilai TypeGuessRows, gunakan langkah-langkah ini:
  1. Pada Mulai menu, klik Menjalankan. Dalam Menjalankan kotak dialog, jenis Regedt32, lalu klik Oke.
  2. Membuka kunci berikut dalam editor registri:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

    CatatanUntuk sistem 64-bit, tombol adalah sebagai berikut:

    HKLM\SOFTWARE\wow6432node\microsoft\jet\4.0\engines\excel
  3. Klik dua kali TypeGuessRows.
  4. Dalam DWORD editor kotak dialog, klik Desimal di bawah Base. Ketik bernilai antara 0 dan 16, inklusif, untuk Nilai data.
  5. Klik Oke, dan kemudian keluar dari Editor registri.
Cara kedua untuk bekerja di sekitar masalah ini (tanpa memodifikasi registri) adalah untuk membuat yakin bahwa baris dengan bidang, yang memiliki data 255 karakter atau lebih, terdapat pada baris pertama 8 file sumber data.

INFORMASI LEBIH LANJUT

Berbagai berlaku nilai-nilai untuk TypeGuessRows Kuncinya adalah 0-16. Namun, jika nilai 0, jumlah sumber baris dipindai adalah 16384. Perlu diingat bahwa nilai nol dapat menyebabkan kinerja kecil yang memukul jika sumber file tersebut sangat besar.

Langkah-langkah untuk mereproduksi masalah

  1. Membuka buku kerja Microsoft Excel baru dan membuat lembar dengan tiga kolom dan 11 baris dan termasuk baris pertama dengan nama kolom.
  2. Memasukkan data ke dalam sel sehingga baris pertama 8 memiliki data kurang dari 255 karakter panjangnya.
  3. Masukkan data yang lebih besar dari 255 karakter panjangnya ke baris 10 dan 11. Simpan lembaran ini sebagai ExcelSource.xls.
  4. Buka SQL Server Enterprise Manager dan memperluas nama Server. Klik kanan Layanan transformasi data, lalu klik Data impor.
  5. Untuk sumber, pilih penyedia Excel 97-2000 dan memberikan nama untuk Excel sheet bahwa Anda disimpan sebelumnya (ExcelSource.xls).
  6. Untuk Pilih tujuan Microsoft OLEDB penyedia SQL, kemudian pilih tujuan database.
  7. Klik Menyalin tabel dan dilihat dari sumber DB, lalu klik Berikutnya.
  8. Dalam Pilih sumber Tables kotak dialog, pilih Sheet1$, klik Berikutnya, dan kemudian jalankan paket segera. Paket eksekusi gagal dengan pesan galat yang ditampilkan di bagian "Gejala".

  9. Drop meja Sheet1$ dari tujuan database dengan menggunakan perintah Drop meja Sheet1$.
  10. Ikuti resolusi pada bagian "pemecahan masalah" dan membuat perubahan untuk kunci registri untuk TypeGuessRows.
  11. Sekarang, ulangi langkah 4 sampai 8. Saat ini pelaksanaan paket sukses.

REFERENSI

Untuk informasi tambahan tentang perilaku ini khusus untuk Microsoft Excel, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
189897 Xl97 Revisi teknis: Data dipotong ke 255 karakter dengan Excel ODBC Driver

Properti

ID Artikel: 281517 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Kata kunci: 
kbjet kbprb kbmt KB281517 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:281517

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com