droite, j'ai donc une boucle foreach avec un flux de données allant à l'intérieur par un groupe de fichiers avec tout le même format exact. Cela modifie un certain nombre de choses avec une colonne dérivée qui est tout transféré dans une base de données SQL Server qui deviendra ma table de transfert.SSIS erreur de boucle Foreach sur les fichiers CSV
Le problème est que certains fichiers vomissent une erreur, même si les fichiers sont tous formatés de façon identique, l'erreur est toujours autour de la date. Il passera par 4 fichiers sans problème, puis sur le 5ème fichier, il cesse de fonctionner.
Que suis-je en train de faire?
- Je veux obtenir un tas de fichiers avec le même format et de mettre les données à l'intérieur dans une base de données SQL en changeant certains formats.
Qu'ai-je essayé de faire?
- J'ai essayé de reformater la date à jj/mm/aaaa qui est le format que je veux la date d'avoir de toute façon. Le reformatage a travaillé mais sur le même fichier qui avait des erreurs avant qu'il est venu avec une erreur de casting de type.
C'est l'erreur que je reçois: [OLE DB Destination [59]] Erreur: SSIS Code d'erreur DTS_E_OLEDBERROR. Une erreur OLE DB s'est produite. Code d'erreur: 0x80004005. Un enregistrement OLE DB est disponible. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Valeur de caractère non valide pour la spécification de conversion".
[OLE DB Destination [59]] Erreur: Il y avait une erreur avec OLE DB Destination.Inputs [Destination OLE DB entrée] .Columns [Montant] sur OLE DB Destination.Inputs [OLE DB utilisant une entrée de destination]. L'état de la colonne retournée était: "La valeur n'a pas pu être convertie en raison d'une perte potentielle de données.".
[OLE DB Destination [59]] Erreur: Code d'erreur SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Le "OLE DB Destination.Inputs [OLE DB entrée de destination]" a échoué parce que le code d'erreur 0xC0209077 a eu lieu, et la disposition de la ligne d'erreur sur "OLE DB Destination.Inputs [OLE DB Destination d'entrée]" indique l'échec en cas d'erreur. Une erreur s'est produite sur l'objet spécifié du composant spécifié. Il peut y avoir des messages d'erreur affichés avant cela avec plus d'informations sur l'échec.
* [SSIS.Pipeline] Erreur: Code d'erreur SSIS DTS_E_PROCESSINPUTFAILED. Procédé ProcessInput sur le composant "OLE DB Destination" (59) a échoué avec le code d'erreur 0xC0209029 alors que l'entrée de traitement "OLE DB Destination Input" (72). Le composant identifié a renvoyé une erreur de la méthode ProcessInput. L'erreur est spécifique au composant, mais l'erreur est fatale et provoque l'arrêt de la tâche de flux de données. Il peut y avoir des messages d'erreur affichés avant cela avec plus d'informations sur l'échec. Il est déjà arrivé avant et je me suis débrouillé en créant une nouvelle boucle foreach pour gérer les nouveaux fichiers avec le nouveau format (je ne pouvais pas voir de changement dans le format mais je l'ai fait pour continuer).
Ceci est le format du flux de données:
Ceci est l'image de la colonne dérivée
Toute aide serait grandement appréciée! Si vous avez besoin de clarifier quoi que ce soit, faites le moi savoir.
Il semble se référer à une autre colonne: 'Columns [Amount]'. Quelle est cette colonne? –
C'est une colonne de devise, et je viens de vérifier à nouveau pour s'assurer qu'il n'y a pas de différence de formatage entre le fichier qui fonctionne et celui qui ne fonctionne pas –
Qu'est-ce qu'un exemple de valeur de devise qui réussit? –