PRB: Přenos dat ze zdroje Jet 4.0LEDB nezdaří a zobrazí se chyba přetečení vyrovnávací paměti

Překlady článku Překlady článku
ID článku: 281517 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při importu dat ze zdroje dat databázového stroje Jet 4.0 OLEDB za použití Data Transformation Services (DTS) a Microsoft OLE DB provider pro stroj Jet data úkolu čerpadlo může dojít k selhání s touto chybovou zprávou:
"Chyba u zdroje pro řádek číslo 9.exe chyby, které doposud zjistil v tomto úkolu: 1"
Obecná chyba:-2147217887(80040E21)
Data pro zdrojový sloupec 3('Col3') je příliš velký pro velikost zadané vyrovnávací paměti.
Pokud zdroj obsahuje pole s více než 255 znaků, určení dat pro tato pole mohou zkrácena na 255 znaků. DTS selže na první řádek, který obsahuje pole s více než 255 znaků. Chcete-li to ověřit, vyhledejte číslo řádku, který se zobrazí v chybové zprávě.

Příčina

Zprostředkovatele Jet OLE DB načte klíč registru Chcete-li zjistit, kolik řádků je nutno číst uhodnout typ zdrojového sloupce. Nastavení registru je:

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

Výchozí hodnota tohoto klíče je 8. Poskytovatel tedy kontroluje prvních 8 řádků zdrojových dat. Chcete-li určit datové typy sloupců. Je-li libovolné pole vypadá jako text a délku dat je více než 255 znaků, sloupec zadána jako pole typu memo. Proto je-li k dispozici data o délce větší než 255 znaků v prvních 8 řádků zdroje, nelze Jet přesně určit druh datového typu.

Jak potíže obejít

Důležité Tento oddíl, metoda nebo úkol obsahuje kroky, které popisují úpravu registru. Však mohou nastat závažné problémy při nesprávné úpravě registru. Proto se ujistěte, opatrně postupujte následujícím způsobem. Pro zvýšení ochrany zálohujte registr před úpravami je nutné. Potom můžete obnovit registr, pokud dojde k potížím. Další informace o zálohování a obnovení registru získáte v článku znalostní báze Microsoft Knowledge Base:
322756 Postup při zálohování a obnovení registru v systému Windows

Chcete-li změnit hodnotu TypeGuessRows, použijte tyto kroky:
  1. V nabídce Start klepněte na příkaz Spustit. V dialogovém okně Spustit zadejte následující příkaz: Regedt32a potom klepněte na tlačítko OK.
  2. V editoru registru otevřete následující klíč:

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

    Poznámka: Odpovídající klíč pro 64bitové systémy, je následující:

    HKLM\SOFTWARE\wow6432node\microsoft\jet\4.0\Engines\Excel
  3. Poklepejte na TypeGuessRows.
  4. V dialogovém okně DWORD editor klepněte na přepínač Desítková v oblasti Base. Zadejte hodnotu mezi 0 a 16, včetně, pro hodnotu data.
  5. Klepněte na tlačítko OKa potom ukončete Editor registru.
Druhým způsobem, chcete-li vyřešit tento problém (bez úpravy registru) se ujistěte, že řádky s polí, jejichž data 255 znaků nebo větší, jsou k dispozici v prvních 8 řádků zdrojový datový soubor.

Další informace

Platný rozsah hodnot pro klíč TypeGuessRows je 0 až 16. Pokud je hodnota rovna nule, je počet řádků zdroje naskenované 16384. Mějte na paměti, který nulovou hodnotu, může způsobit malé výkon přístupů, pokud zdrojový soubor je velmi velký.

Kroky pro reprodukci problému

  1. Otevřete nový sešit aplikace Microsoft Excel a vytvořit list s třemi sloupci a řádky 11 a zahrnout první řádek s názvy sloupců.
  2. Vložení dat do buněk tak, aby prvních 8 řádků dat menší než 255 znaků v délce.
  3. Vložte data, která je větší než 255 znaků do řádků desáté a jedenácté místo. Tento list uložte jako ExcelSource.xls.
  4. Otevřete SQL Server Enterprise Manager a rozbalte název serveru. Klepněte pravým tlačítkem myši Data Transformation Servicesa potom klepněte na tlačítko Importovat Data.
  5. Pro zdroj vyberte zprostředkovatele, aplikace Excel 97-2000 a zadejte název pro list aplikace Excel, uložena starší (ExcelSource.xls).
  6. Cíle, vyberte položku Microsoft OLEDB provider for SQLa pak vyberte cílové databáze.
  7. Klepněte na tlačítko Kopírovat tabulky a zobrazení ze zdrojové databázea potom klepněte na tlačítko Další.
  8. V dialogovém okně Vyberte zdrojové tabulky vyberte $ List1, klepněte na tlačítko Dalšía okamžité spuštění balíčku. Spuštění balíčku nezdaří a zobrazí se chybová zpráva uvedené v části "Příznaky".

  9. Vynechá tabulky List1$ z cílové databáze pomocí příkazu Drop tabulky List1$.
  10. Postupujte podle rozlišení v části "Řešení" a provést změnu klíče registru pro TypeGuessRows.
  11. Nyní opakujte kroky 4 až 8. Tentokrát je úspěšné spuštění balíčku.

ODKAZY

Další informace o tomto chování, které jsou specifické pro aplikaci Microsoft Excel klepněte na tlačítko znalostní báze Microsoft Knowledge Base:
189897 Xl97: Data zkrácena na 255 znaků s ovladačem ODBC aplikace Excel

Vlastnosti

ID článku: 281517 - Poslední aktualizace: 30. prosince 2012 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Klíčová slova: 
kbjet kbprb kbmt KB281517 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 281517

Dejte nám zpětnou vazbu

 

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