PRB : Transfert de données d'une Source OLE DB Jet échoue avec une erreur de dépassement de tampon

Traductions disponibles Traductions disponibles
Numéro d'article: 281517 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous importez des données à partir d'une source de données Jet OLEDB 4.0 à l'aide de DTS (Data Transformation Services) et le fournisseur Microsoft OLE DB pour Jet, la tâche data pump peut échouer avec cette message d'erreur :
"Erreur dans la source de ligne numérique 9.la erreurs rencontrées au cours de cette tâche: 1"
Erreur générale :-2147217887(80040E21)
Données de 3('Col3') de la colonne Source sont trop grandes pour la taille de mémoire tampon spécifiée.
Si la source comporte des champs avec plus de 255 caractères, les données de destination pour ces champs peuvent être tronquées à 255 caractères. DTS échoue sur la première ligne comporte un champ comportant plus de 255 caractères. Pour vérifier cela, recherchez le numéro de ligne qui s'affiche dans le message d'erreur.

Cause

Le fournisseur OLE DB Jet lit une clé de Registre pour déterminer le nombre de lignes est à lire pour deviner le type de la colonne source. Le paramètre de Registre est :

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

Par défaut, la valeur de cette clé est 8. Par conséquent, le fournisseur analyse les 8 premières lignes des données sources pour déterminer les types de données pour les colonnes. Si n'importe quel champ ressemble à la longueur du texte et des données sont plus de 255 caractères, la colonne est de type un champ Mémo. Par conséquent, si aucune donnée d'une longueur supérieure à 255 caractères dans les 8 premières lignes de la source, Jet ne peut pas déterminer avec précision la nature du type de données.

Contournement

ImportantCette section, méthode ou tâche contient des étapes qui vous indiquent comment modifier le Registre. Toutefois, les problèmes sérieux peuvent survenir si vous modifiez le Registre de manière incorrecte. Par conséquent, assurez-vous que vous procédez avec précaution. Pour une protection supplémentaire, sauvegarder le Registre avant de le modifier. Ensuite, vous pouvez restaurer le Registre si un problème survient. Pour plus d'informations sur la façon de sauvegarder et restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
322756Comment faire pour sauvegarder et restaurer le Registre dans Windows

Pour modifier la valeur deTypeGuessRows, procédez comme suit :
  1. Sur leDémarrermenu, cliquez surExécuter. Dans laExécuterboîte de dialogue, tapezRegedt32, puis cliquez surOK.
  2. Ouvrez la clé suivante dans l'Éditeur du Registre :

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

    RemarquePour les systèmes 64 bits, la clé correspondante est la suivante :

    HKLM\SOFTWARE\wow6432node\microsoft\jet\4.0\Engines\Excel
  3. Double-cliquez surTypeGuessRows.
  4. Dans laÉditeur DWORDboîte de dialogue, cliquez surDécimalsousBase de. Tapez une valeur comprise entre 0 et 16, inclus pourValeurdonnées.
  5. Cliquez surOK, puis quittez l'Éditeur du Registre.
Un deuxième moyen de contourner ce problème (sans modification du Registre) consiste à s'assurer que les lignes avec des champs, qui ont des données de 255 caractères ou plus, sont présent dans les 8 premières lignes du fichier source de données.

Plus d'informations

La plage valide de valeurs pour leTypeGuessRowsla clé est de 0 à 16. Toutefois, si la valeur est 0, le nombre de lignes source analysé est 16384. Gardez à l'esprit que la valeur zéro peut entraîner une baisse si le fichier source est très important des performances small.

Procédure pour reproduire le problème

  1. Ouvrez un nouveau classeur Microsoft Excel et crée une feuille en trois colonnes et des 11 lignes et inclure la première ligne avec des noms de colonne.
  2. Insérer des données dans les cellules, afin que les 8 premières lignes données moins de 255 caractères de long.
  3. Insérer des données sont supérieures à 255 caractères dans les lignes de la dixième et onzième. Enregistrez cette feuille en tant que ExcelSource.xls.
  4. Ouvrez SQL Server Enterprise Manager, puis développez le nom du serveur. Clic droitData Transformation Services, puis cliquez surImporter des données.
  5. Pour la Source, sélectionnez le fournisseur Excel 97-2000 et fournir le nom de la feuille Excel que vous avez enregistré des versions antérieures (ExcelSource.xls).
  6. Pour la sélection de la destinationFournisseur OLEDB Microsoft pour SQL, puis sélectionnez la base de données de destination.
  7. Cliquez surCopier des Tables et vues à partir de la base de données source, puis cliquez surSuivant.
  8. Dans laSélectionnez les Tables Sourceboîte de dialogue, sélectionnez la feuille Sheet1$, cliquez surSuivant, puis exécutez le package immédiatement. L'exécution du package échoue avec le message d'erreur affiché dans la section « Symptômes ».

  9. Suppression de la table Sheet1$ à partir de la base de données de destination en utilisant la commandeDROP Table Sheet1$.
  10. Suivez la résolution dans la section « Contournement » et d'apporter une modification à la clé de Registre pourTypeGuessRows.
  11. À présent, répétez les étapes 4 à 8. Cette fois l'exécution du package a réussi.

RÉFÉRENCES

Pour plus d'informations sur ce problème spécifique à Microsoft Excel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
189897XL97 : Les données tronquées à 255 caractères avec le pilote ODBC Excel

Propriétés

Numéro d'article: 281517 - Dernière mise à jour: samedi 5 février 2011 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 7.0 Standard
  • Microsoft SQL Server 2000 Standard
Mots-clés : 
kbjet kbprb kbmt KB281517 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 281517
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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