prb: Jet 4.0LEDB kaynaktan veri aktarımını arabellek taşma hatası ile başarısız olur.

Makale çevirileri Makale çevirileri
Makale numarası: 281517 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Jet için Data Transformation Services (dts) ve Microsoft ole db sağlayıcı kullanarak bir Jet oledb 4.0 veri kaynağından veri aldığınızda, veri pompasına ihtiyaç görev bu hata iletisiyle başarısız olabilir:
"Kaynak satır numarası 9. şu ana kadar bu görevi karşılaşılan hataları için hata: 1"
Genel hata:-2147217887(80040e21)
Veri kaynağı sütun 3('Col3') için belirtilen arabellek boyutu çok büyük.
Kaynak alanları 255'ten fazla karakter içeren varsa, bu alanlar için hedef veri 255 karakter kesilebilir. dts 255 karakterden fazla olan bir alana sahip ilk satırda başarısız olur. Bunu doğrulamak için hata iletisinde görüntülenen satır numarasını arayın.

Neden

Jet ole db sağlayıcısı kaynak sütun türünü tahmin okumak için satırların sayısını belirlemek için bir kayıt defteri anahtarını okur. Kayıt defteri ayarı aşağıdaki gibidir:

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

Varsayılan olarak, bu anahtar için değer 8'dir. Bu yüzden, ilk 8 satır sütunların veri türlerini belirlemek için kaynak veri sağlayıcısı tarar. Herhangi bir alan metin ve uzunluğu gibi görünüyorsa veri 255 karakterden uzun, sütun Not alanı yazdınız. Bu nedenle varsa veri uzunluğu olan ilk 8 satır kaynağının 255 karakteri, Jet doğru olarak yapısı veri türü belirlenemiyor.

Pratik Çözüm

ÖnemliBu bölüm, yöntem veya görev kayıt defterini nasıl değiştireceğinizin anlatıldığı adımlar içermektedir. Ancak, kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Değiştirmeden önce ek koruma için kayıt defterini yedekleyin. Daha sonra bir sorun çıktığında kayıt defterini geri yükleyebilirsiniz. Ve kayıt defterini geri yükleme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756Ve Windows kayıt defterini geri yükleme hakkında

Değeri değiştirmek içinTypeGuessRows, aşağıdaki adımları kullanın:
  1. ÜzerindeBaşlatmenüsünü tıklatınÇalıştır. İçindeÇalıştıriletişim kutusunda, türRegedt32ve iTAMAM.
  2. Aşağıdaki anahtarı Kayıt Defteri Düzenleyicisi'nde açın:

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

    Not64-Bit sistemler için karşılık gelen tuşa aşağıdaki gibidir:

    HKLM\SOFTWARE\wow6432node\microsoft\jet\4.0\Engines\Excel
  3. Çift tıklatınTypeGuessRows.
  4. İçindedword Düzenleyicisiiletişim kutusunda'ı tıklatınOndalıkaltındaBase. 0-16, Dahil olmak üzere, için arasında bir değer girinDeğerveri.
  5. ' I tıklatınTAMAMve ardından Kayıt Defteri Düzenleyicisi'nden çıkın.
(Kayıt defterini değiştirmeden) Bu sorunu çözmek için ikinci bir yöntem emin, veri 255 karaktere sahip alanlar satırları veya daha büyük yapmak için kaynak veri dosyasının ilk 8 satır yok.

Daha fazla bilgi

Geçerli aralık için değerlerTypeGuessRows0-16 anahtarıdır. Değer 0 ise, ancak, taranan kaynak satır 16384 sayısıdır. Sıfır değeri, kaynak dosya çok büyük isabet küçük bir performans neden olabilir unutmayın.

Sorunu yeniden oluşturma adımları

  1. Yeni bir Microsoft Excel çalışma kitabı üç sütun ve satır 11 ile bir sayfa oluşturmak ve ilk satır sütun adlarını içerir.
  2. Böylece ilk 8 satır veri uzunluğu 255 karakterden kısa olan hücrelere veri ekleyin.
  3. 10 Ve 11 satırlara 255 karakterden büyük veriler ekleyin. Bu sayfayı ExcelSource.xls kaydedin.
  4. sql Server Enterprise Manager'ı açın ve sunucu adını genişletin. Sağ tıklatmaVeri Dönüştürme Hizmetlerive iVeri Al.
  5. Kaynak için Excel 97-2000 sağlayıcısını seçin ve önceki (ExcelSource.xls) kaydedilen Excel sayfası için bir ad sağlayın.
  6. Hedef Seç içinsql için Microsoft oledb Sağlayıcısıve hedef veritabanı seçin.
  7. ' I tıklatınTabloların ve görünümlerin kaynak veritabanı kopyalamave iSonraki.
  8. İçindeKaynak tabloları seçiniletişim kutusu, select Sayfa1$ tıklatınSonraki, paketi ve hemen çalıştırın. Paketi yürütme "Belirtiler" bölümünde gösterilen hata iletisiyle başarısız olur.

  9. Sayfa1$ tablo komutunu kullanarak hedef veritabanından bırakSayfa1$ tablo bırakma.
  10. "Geçici çözüm" bölümündeki çözünürlük izleyin ve kayıt defteri anahtarı değişiklikTypeGuessRows.
  11. Şimdi, 4 ile 8 arasındaki adımları yineleyin. Bu kez paketi yürütme başarılı olur.

BAŞVURULAR

Microsoft Excel'e özgü bu davranış hakkında ek bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
189897XL97: veriler Excel odbc sürücüsü ile 255 karakter kesildi

Özellikler

Makale numarası: 281517 - Last Review: 5 Şubat 2011 Cumartesi - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Anahtar Kelimeler: 
kbjet kbprb kbmt KB281517 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:281517

Geri Bildirim Ver

 

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