2010-10-20 6 views
0

Je reçois un fichier CSV d'entrée que je dois télécharger dans ma base de données Oracle.Conversion de types de données dans SSIS

Voici quelques exemples de données

ContractId, Date, HourEnding, ReconciledAmount 
13860,"01-mar-2010",1,-.003 
13860,"01-mar-2010",2,.923 
13860,"01-mar-2010",3,2.542 

Je dois convertir la colonne d'entrée à DB_TIMESTAMP (pour correspondre à la structure de la table de destination).

Mais quand je l'utilise Data Conversion pour convertir, je reçois une erreur

Data conversion failed while converting column "Date" (126) to column "Date" (496). The conversion returned status value 2 and status text "The value could not be converted because of a potential loss of data.

Que dois-je faire pour être en mesure de convertir correctement ces données?

Répondre

4

Ce que vous pourriez faire dans cette situation est de changer le qualificateur de texte dans votre connexion de fichier plat pour être un guillemet simple (").

Cela entraînera SSIS interperet

13860,"01-mar-2010",1,-.003 

comme

13860,01-mar-2010,1,-.003 

Cela a aussi l'avantage supplémentaire d'être en mesure de prendre des virgules intégrées dans vos données si elles sont également qualfied avec des citations.

2

Le problème est avec les guillemets [«] dans le fichier. Vous devez les supprimer du fichier ou ajouter un Derived Column avant que le composant Data Conversion pour enlever le » avec l'expression

REMPLACER ([TextDateColumn], "\" "," ")

Questions connexes