Souvent en important des données à partir d'un fichier Excel arriver à recevoir de SQL SERVER 2005 l'erreur suivante :
Erreur 0xc020901c : Tâche de flux de données : une erreur s'est produite avec la colonne de sortie « Nome Campo » (63) sur la sortie « Excel Source Output » (9). L'état de la colonne renvoyé était : "Le texte a été tronqué ou un ou plusieurs caractères n'avaient pas de correspondance dans la page de codes cible."
Il Pilote d'avion par défaut, il ne vérifie que les 8 premières colonnes pour deviner la taille maximale des lignes. Donc, si vos 8 premières colonnes sont inférieures à 255 caractères et que la colonne 9 a plus de caractères, SQL Server renvoie l'erreur ci-dessus.
La solution est d'aller au Registre de configuration Windows et suivez les instructions de Microsoft :
Pour changer la valeur de TypeGuessRows, utilisez ces étapes:
- Dans le menu, cliquez sur . Dans la boîte de dialogue, tapez , puis cliquez sur .DémarrercoursecourseRegedt32OK
- Ouvrez la clé suivante dans l'éditeur de registre : HKEY_LOCAL_MACHINESOFTWAREMicrosoftJet4.0EnginesExcel
Notes Pour les systèmes 64 bits, la clé correspondante est la suivante :
HKLMSOFTWAREwow6432nodemicrosoftjet4.0moteursexcel - Double-cliquez sur TypeGuessRows.
- Dans le Éditeur DWORD boîte de dialogue, cliquez sur Décimal sous Notes de fond. Saisissez une valeur comprise entre 0 et 16, inclus, pour Valeur données.
- Cliquez OK, puis quittez l'Éditeur du Registre.
Une deuxième façon de contourner ce problème (sans modifier le Registre) consiste à s'assurer que les lignes avec des champs, qui ont des données de 255 caractères ou plus, sont présentes dans les 8 premières lignes du fichier de données source.
La plage de valeurs valide pour la clé TypeGuessRows est de 0 à 16. Cependant, si la valeur est 0, le nombre de lignes source analysées est de 16384. Gardez à l'esprit qu'une valeur de zéro peut entraîner un léger impact sur les performances si le le fichier source est très volumineux.