SSIS de Conversion de Fichier Plat DT_WSTR de type nvarchar(255) champ null lorsque des caractères autres que des chiffres
J'ai eu une drôle de problème avec les données de la coulée et l'importation à partir d'un fichier plat, une base de données SQL Server. Le problème est que, dans certains domaines, il existe des entiers et des chaînes de caractères à venir à travers, par exemple 9012635 et 54Z2534, 234-1823.
Dans le package SSIS sur l'ensemble de mon champs a un Type de données pf DT_WSTR (255) et les données de l'insertion dans nvarchar(255). Au début, j'avais créé à l'aide de l'import export assistant et ensuite apporté des modifications (mais pas pour les conversions. J'ai accepté ce qui m'a été donné par l'assistant (c'est à dire DT_WSTR). Il n'a finalement pas l'importation de données dans ces domaines. Il a créé la ligne et les données insérées dans d'autres colonnes, mais dans certaines colonnes, elle a mis NUL - pas de données.
De tester des choses, j'ai fini par essayer de l'assistant avec le fichier. J'ai reçu un message d'erreur: "La dernière ligne dans l'échantillon de données est incomplète. La colonne ou de la ligne délimiteur peut être manquant ou le texte est qualifié de manière incorrecte".
Malgré cela, le fichier des importations de toutes les lignes, mais ne semble pas comme du texte dans ces colonnes, et se termine juste en haut de l'importation des valeurs entières sous forme de texte.
D'autres fichiers qui n'ont pas donné ce message d'erreur ont également eu les mêmes symptômes.
Je ne suis pas sûr de la façon de résoudre ce problème, ou quel est le problème.
Vous devez vous connecter pour publier un commentaire.
NVARCHAR doit correspondre à DT_WSTR, et VARCHAR doit correspondre à DT_STR. Êtes-vous sûr que ce n'est pas un problème de conversion entre ces deux types? Si vous avez vrai DT_I4 entiers à venir, vous devriez ne pas voir que des caractères alphanumériques.
Vous pouvez ajouter un Visualiseur De Données à votre flux de données, pour déterminer exactement ce que les types de données que vous avez dans votre package SSIS.
Si vous souhaitez convertir des types de chaînes, vous pouvez utiliser un Transformation De La Colonne Dérivée pour créer une nouvelle colonne, puis jeter un type de chaîne dans une autre.
Ainsi, par exemple, (DT_STR, 30, 1252)OldColumnName mettrait trente caractères d'un type NVARCHAR VARCHAR en fonction de la page de code 1252. Sinon, (DT_WSTR, 50)ColName mettrait cinquante caractères de type VARCHAR dans NVARCHAR.