2010-11-12 27 views
0

J'ai des fichiers Excel 2003 qui sont importés via SSIS dans SQL 2008 R2. Avec l'une des colonnes, j'ai rencontré un gros problème. La colonne est définie comme TEXT dans la feuille Excel. Sur 36 lignes 32 ont des valeurs comme XTZ23, elles sont importées correctement. Les 4 dernières lignes, cependant sont juste des nombres comme 2646672. Ils sont importés comme NULL. Si je change la chaîne de connexion en IMEX = 1 et que je modifie le registre en TypeGuessRow=0, ces chiffres finissent comme 2.64667e + 006.SSIS n'important pas correctement la colonne TEXT à partir d'Excel (nombre entier donnant la valeur NULL)

Qu'est-ce qui me manque ici?

+1

doivent-ils rester des fichiers Excel? Si vous les sauvegardez en tant que csv, vous pouvez utiliser un schéma.ini pour définir le type de données. – datatoo

Répondre

0

La première solution serait de changer le format de la colonne Excel si possible. Deuxièmement, j'ai eu ce problème il y a 2 ans, le fichier Excel ne pouvait pas être changé depuis que je le recevais d'un autre service ... Je ne peux pas me souvenir correctement mais j'ai appelé code/fonction personnalisé ou c'était une sorte de transformation à l'intérieur de SSIS qui convertissait des lignes de colonnes spécifiques d'un type de données à un autre.

1

Je sais que c'est un ancien article, mais pour les futurs chercheurs, il suffit d'ajouter IMEX = 1 dans la chaîne de connexion de votre gestionnaire Excel dans le SSIS.

+0

+1 pour la bonne réponse –