2010-01-19 5 views
0

Il s'agit probablement d'une tâche facile dans SSIS, mais ayant peu d'expérience avec l'outil et n'ayant pas réussi à trouver la réponse dans la documentation, je me tourne vers les experts ici. J'apprécie toute aide que je pourrais recevoir.Conversion de données dans SSIS

J'ai un package SSIS qui lit le contenu d'une feuille de calcul Excel et qui stocke les informations dans une table de base de données. C'est assez simple. Cependant, les colonnes dans la feuille de calcul qui sont pour les dates auront parfois un '0' zéro. Si la valeur est zéro j'ai besoin de le transformer à la date suivante; '12/31/9999 'et placez cette valeur dans la colonne correspondante à la place.

J'ai actuellement une tâche de flux de données définie avec une source Excel et une destination OLE DB. Mon hypothèse est que je dois mettre une transformation de flux de données entre ces deux tâches. Je ne peux pas trouver celui qui veut travailler. J'utilise SQL Server 2005 et Visual Studio 2005.

Merci,

Andrew

Répondre

3

Je vais supposer que votre source de données Excel a la colonne mis en place sous forme de chaîne. À partir de là, vous devriez pouvoir utiliser la transformation de colonne dérivée.

La syntaxe pour cela est un peu vilain. C'est ce que j'ai pu trouver de haut en bas de ma tête. Je verrai s'il y a un équivalent à une fonction ISDATE(), car cela serait plus robuste que de simplement vérifier "0".

my_string=="0" ? (DT_DBDATE)"12/31/9999" : (DT_DBDATE)my_string 
+0

Cela a fonctionné pour moi. Je ne pouvais pas trouver une fonction ISDATE dans SSIS en comparant les chaînes fonctionne assez bien pour mes besoins. Merci. –

+0

Je suis content que cela ait aidé. Comme il semble que vous êtes nouveau, si une réponse fonctionne pour vous, vous devez l'accepter (cliquez sur la coche à côté de la réponse pour qu'elle devienne verte) afin que les autres puissent rapidement trouver la réponse à la question. –