J'essaie d'importer des données d'Excel vers SQL Server à l'aide de l'assistant d'importation. Tout semble bien dans les premiers pas. L'assistant est capable de lire le fichier Excel et d'identifier correctement les colonnes. Mais dans la dernière étape lorsque le processus fonctionne réellement, il échoue à donner les erreurs suivantes: p>
erreur 0xc020901C: tâche de flux de données 1: il y avait une erreur avec la sortie Colonne "AlternateName" (24) sur la sortie "Sortie source Excel" (9). Les L'état de la colonne renvoyé était: "Le texte a été tronqué ou un ou plusieurs Les caractères n'avaient pas de correspondance dans la page de code cible. ". (Import SQL Server et l'assistant d'exportation) p>
erreur 0xc020902a: tâche de flux de données 1: la "colonne de sortie" alternatename " (24) "Échec du fait que la troncature s'est produite et la ligne de troncature disposition sur "colonne de sortie" alternatename "(24)" Spécifie l'échec sur la troncature. Une erreur de troncature s'est produite sur l'objet spécifié de le composant spécifié. (Assistant d'importation et d'exportation SQL Server) P>
erreur 0xc0047038: tâche de flux de données 1: code d'erreur SSIS DTS_E_PRIMEOutPUTFAILED. La méthode de PrimeOutput sur le composant "source - feuille1 $ "(1) code d'erreur renvoyé 0xc020902a. Le composant renvoyé Code de défaillance lorsque le moteur de pipeline appelé PrimeOutput (). Les La signification du code de défaillance est définie par le composant, mais l'erreur est fatal et le pipeline a cessé d'exécuter. Il peut y avoir une erreur Messages postés avant cela avec plus d'informations sur l'échec. (Assistant d'importation et d'exportation SQL Server) P> blockQuote>
La colonne, alternatename a une longueur maximale de données de 658 caractères. La table de destination a la colonne alternatename définie comme Varchar (1000). Donc, je ne savais pas pourquoi je reçois cette erreur. Mais alors j'ai remarqué cela p>
p>
J'ai un chasseur que cela peut causer la question. Mais alors comment puis-je modifier la colonne source définie comme Varchark 255? P>
3 Réponses :
Vous devrez peut-être écrire votre propre requête dans l'assistant et lancer les colonnes comme Varchar (1000) - Je ne suis pas sûr à 100% qui fonctionnera. Alternativement, quelle est la taille de la feuille? L'assistant que "regarde vers le bas" tant de lignes (IIRC 10000 par défaut, c'est un paramètre de registre) pour déterminer le type de données et la largeur. Re-trier le fichier Excel afin que la plus longue valeur alternatename soit en haut. P>
Merci! La feuille avait plus de 20 000 rangées. J'ai fait la première valeur de l'alternatenameververververny et que cela a fonctionné!
Selon l'une des réponses ici , il ne regarde que les 8 premières lignes.
Il ne regarde que très peu de lignes, certainement pas 10000. J'ai une feuille avec moins de 100 rangées qui n'importent pas correctement. La chose amusante est la source de fichiers plats (au lieu d'Excel) dispose d'une boîte de dialogue avancée> Suggérer des types> Nombre de lignes et vous pouvez entrer autant de lignes que nécessaire là-bas. Il est étrange que cela manque lors de l'importation d'Excel. (BTW, vous ne pouvez pas simplement convertir la feuille Excel en un fichier plat soit - j'ai trouvé que l'Assistant d'importation a également eu des problèmes différents pour analyser le CSV résultant).
J'ai eu le même problème et j'ai compris qu'une solution de contournement consiste à trier les lignes qui sont grandes et causent des problèmes dans le document Excel en fonction de la longueur des cellules du plus grand au plus petit, car l'assistant d'exportation d'importation ne vérifie que les 200 premières lignes. P>
Après que les lignes ont eu recours à l'importation, l'assistant d'exportation détecte une plus grande longueur et modifier le type de données de la colonne de source à longtext. p>
très agréable. Travaillé pour moi. J'ai gardé la plus grande valeur en haut et colonne a changé de type de données. Joli tour :)
J'ai le même problème lors de l'importation d'un fichier Excel (version 97-2003) dans SQL Server 2016. Mon fichier Excel a 10 colonnes, mais 2 d'entre eux ont de grandes données de caractères ("Description", "Sortie") qui sont la plupart 600 caractères. Quand je trie l'Excel basé sur une colonne intitulée "Description", l'erreur de troncature mentionnée ci-dessus Soyez montré à nouveau pour une autre colonne (appelée «sortie») qui a également des données importantes dans ses lignes. Même j'ai essayé de trier des plus grandes aux lignes les plus petites en fonction de la colonne "Sortie", à nouveau, la même erreur est montrée à moi pour la colonne "Description". De plus, lorsque j'importe que Excel en 2008 SQL Server, il n'y a aucune erreur après exécution. L'erreur est juste lorsque je souhaite importer ce fichier dans SQL Server 2016. J'apprécie si quelqu'un résolve mon problème inadéquation d'importer que le fichier Excel dans SQL Server 2016. p>