texto separar por into dividir delimitada comas columnas cadena sql-server csv ssis runtime-error truncate

sql-server - into - separar cadena delimitada por comas en sql server



SSIS: ¿Por qué no funciona mi delimitador de texto? (1)

Has configurado el calificador de texto como "pero en realidad es"

Originalmente, había escrito lo siguiente:

Medio ambiente: - SSIS 2012 , Microsoft Visual Studio

Archivos implicados: Destination Manager: OLEDB SQL Server Table

Administrador de origen: FLATFILE - Archivo CSV

FORMAT: Delimited HeadRowDelimiter: {CR}{LF} Column Delimiter: Comma {,} Text qualifier: " (manually set) Header rows to skip: 0 Column Width: 100 Column Type: DT_STR

Mi archivo tiene las siguientes columnas:

Year, Lg..., Div Finish, Playoffs, PF, PA...OSRS, DSRS

Deseo solo recuperar:

Year, Lg..., Div Finish, Playoffs

Pero en lugar de:

|2015,''NFL'',...,''2nd of 4'',NULL,...,-4,0.3 |2014,''NFL'',...,''3rd of 4'',NULL,...,0.6,-4.4

El paquete SSIS fallaría con un mensaje similar a este:

[NFL_Team_List [52]] Error: Data conversion failed. The data conversion for column "Playoffs" returned status value 4 and status

texto "El texto se truncó o uno o más caracteres no concuerdan en la página de códigos de destino".

Sin embargo, al observar los datos que pasaron un par de veces, observo lo siguiente:

|2015,''NFL'',...,''2nd of 4'',''339,345,-6,Quinn,Jones,Ryan...'' |2014,''NFL'',...,''3rd of 4'',''299,422,-123,Reeves Phillips,Brooking...''

¡Así que el problema estaba en que mis delimitadores no están actuando como delimitadores! Aunque configuré la configuración del Calificador de texto, parece que SSIS no puede aplicar esta regla en FOREACHLOOP dinámico, lo que lleva al problema.

PREGUNTAS:

  • ¿Por qué es este el caso?

  • ¿Cómo puedo hacer que Text Qualifier funcione tal como está diseñado?