J'essaie d'importer un fichier CSV sur la base de données SQL Server, sans succès. Je suis toujours débutant sur SQL Server. P>
opération arrêtée ... p>
Tâche de flux de données initialisation (succès) p> li>
Initialisation des connexions (Succès) P> li>
Configuration de la commande SQL (succès) p> li>
Réglage de la connexion source (succès) p> li>
Connexion de destination (succès) p> li>
Validation (succès) Messages p>
Préparez-vous à EXECUTE (SUCCÈS) P> li>
Pré-exécuter (succès) Messages p>
exécution (erreur) Messages p>
erreur 0xc002f210: Table (s) Drop SQL Tâche 1: Exécution de la requête "Drop Table [DGO]. [Test]. "Échec de l'erreur suivante:" Impossible de déposer la table 'dbo.test', car il n'existe pas ou que vous n'ayez pas la permission. " pas réglé correctement ou la connexion non établie correctement. (Assistant d'importation et d'exportation SQL Server) P> li>
erreur 0xc02020A1: Tâche du flux de données 1: La conversion de données a échoué. La conversion de données pour la colonne "" Code "" Valeur d'état renvoyée 4 et texte d'état "Le texte a été tronqué ou qu'un ou plusieurs caractères n'avaient aucune correspondance dans la page Code cible.". (Assistant d'importation et d'exportation SQL Server) P> li>
erreur 0xc020902a: Tâche du flux de données 1: la "colonne de sortie" "" (38) "(38)" a échoué car la troncature s'est produite et la disposition de la ligne de troncature sur "Colonne de sortie" "(38)" Spécifie l'échec de la troncature. Une erreur de troncature s'est produite sur l'objet spécifié du composant spécifié. (Assistant d'importation et d'exportation SQL Server) P> li>
erreur 0xc0202092: tâche de flux de données 1: une erreur s'est produite lors du traitement du fichier "D: \ test.csv" sur la ligne de données 21. (Assistant d'importation et d'exportation SQL Server) P> li>
Erreur 0xc0047038: Tâche du flux de données 1: code d'erreur SSIS DTS_E_PRIMEOutPUTFAILED. La méthode PrimeOutput sur le composant "Source - test_csv" (1) Code d'erreur renvoyé 0xc0202092. Le composant a renvoyé un code d'échec lorsque le moteur de pipeline appelé PrimeOutput (). La signification du code de défaillance est définie par le composant, mais l'erreur est fatale et que le pipeline a cessé d'exécuter. Il peut y avoir des messages d'erreur affichés avant cela avec plus d'informations sur l'échec. (Assistant d'importation et d'exportation SQL Server) P> li> ul> li>
Copie sur [DBO]. [Test] (arrêté) p> li>
post-exécuteur (succès) Messages p>
Informations 0x402090DD: Tâche du flux de données 1: Le traitement du fichier "D: \ test.csv" est terminé. (Assistant d'importation et d'exportation SQL Server) P> li>
Informations 0x402090DF: Tâche du flux de données 1: Le contrat final de l'insertion de données dans "composant" de destination - test "(70)" a commencé. (Assistant d'importation et d'exportation SQL Server) P> li>
Informations 0x402090E0: Tâche de flux de données 1: Le contrat final de l'insertion de données dans "composant" destination - test "(70)" est terminé. (Assistant d'importation et d'exportation SQL Server) P> li>
Informations 0x4004300B: tâche de flux de données 1: "Composant" Destination - Test "(70)" a écrit 0 rangées. (Assistant d'importation et d'exportation SQL Server) p> li> ul> li> ul>
6 Réponses :
Vous avez vraiment deux problèmes majeurs dans votre importation: P>
Erreur 0xc002f210: Table (s) Drop SQL Tâche 1: Exécution de la requête "Drop Tableau [DBO]. [Test] "Échec avec le Erreur suivante: "Impossible de déposer le table 'dbo.test', parce que ce n'est pas exister ou vous n'avez pas la permission. ". P> blockQuote>
On dirait que vous essayez de laisser tomber une table qui n'existe même pas. Solution: Juste ne le faites pas! P>
erreur 0xc02020A1: tâche de flux de données 1: La conversion de données a échoué. Les données Conversion pour la colonne "" Code "" Valeur d'état retournée 4 et statut texte "Le texte a été tronqué ou un ou un ou plus de personnages n'avaient pas de match dans le page de code cible. ". P> blockQuote>
Votre colonne "code" est évidemment plus long que la colonne obtenue que vous avez dans votre table cible. Vérifiez les mappages - peut-être qu'il s'agit d'une chaîne de caractères très longue et la longueur par défaut de la colonne Varcharne dans SQL Server est trop petite. Changez le type de données de la colonne cible en par exemple.
varchar (max) code> - cela vous donne 2 Go d'espace! Cela devrait suffire .... P>Il semble également que la colonne "Code" contienne des caractères qui ne sont pas présents dans votre page de code actuellement sélectionnée dans SQL Server - pouvez-vous supprimer ces caractères spéciaux supplémentaires avant d'importer? Sinon, vous devrez peut-être utiliser
nvarchar (max) code> pour le type de données de votre colonne cible afin de lui permettre d'utiliser Unicode pour ses caractères (supportant ainsi même les caractères les plus exotiques de votre chaîne d'entrée) . P>
"Le texte a été tronqué ou un ou plusieurs Les caractères n'avaient pas de match dans la cible page de code. " p> blockQuote>
peut se produire même lorsque: p>
- Votre fichier à plat source est un fichier unicode li> ul>
et p>
- Votre colonne cible est définie comme Nvarchar (max). li> ul>
Cela m'a pris un certain temps pour comprendre. p>
cause forte> p> SSIS Infère les types de données dans le fichier source de numériser les premières lignes et faire une supposition éduquée. En raison de tentatives répétées sans fin de la faire fonctionner, elle avait garé les métadonnées pour le type de données (sortieColumnWidth) à 50 caractères quelque part en cours de route, provoquant une troncature interne à l'emballage. p>
résolution forte> p> Fidélisation avec les métadonnées de l'onglet "Avancé" de la source de données est alors ce que vous voulez faire pour résoudre le problème. Essayez de réinitialiser la totalité de la chose en jouant avec les paramètres dans "Suggérer des types" ou des réglages Tweak sur une base de champ à terme. Une quantité véritablement décourageante d'itérations était nécessaire dans mon cas (fichier d'entrée large), mais vous pouvez finalement le faire fonctionner. P>
Compte tenu du fait que cette chose est très rapide, il est conseillé d'utiliser des types suggérés et de modifier des paramètres sur un champ par champ. Si vous créez une table finale directement, vous pouvez augmenter les largeurs de colonne un bit pour une entrée de données ultérieure. Je suggère de compter le nombre de lignes dans votre fichier d'importation et de numériser l'ensemble de l'ensemble comme «échantillon». Quelque chose de moins pourrait entraîner des erreurs. Le temps de la modifier ne vaut probablement pas votre temps. P>
J'ai eu le même problème:
Error 0xc02020a1: Data Flow Task 1: Data conversion failed. The data conversion for column "target" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.".
ou vous pouvez également vérifier la taille du texte en allant avancé, puis vérifiez la suggestion, puis convertissez la chaîne en chaîne unicode. Il aide à résoudre les erreurs liées à la chaîne. Je leur ai fait face beaucoup récemment! P>
pour "erreur 0xc02020a1" mon cas a été résolu en modifiant le format de cellule du côté du fichier CSV: (Ouvrez le fichier CSV par Excel >> Modifiez le format de cellule du pourcentage au général puis enregistrez-le), qui résolvait mon cas. p>
Ce n'est pas la cause première de la question et donc pas une bonne réponse.
Voir le bit qui dit: "... Échec de l'erreur suivante:" Impossible de déposer la table 'Dbo.Test', car il n'existe pas ou que vous n'ayez pas la permission. "."