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
TableAdministrador 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?