plano ejemplos cargar archivo sql etl flat-file ssis

sql - ejemplos - SSIS 2005-¿Cómo importar un archivo plano de ancho fijo?



bulk insert sql server ejemplos (2)

Tengo un archivo plano que se ve así:

junk I don''t care about /n /n columns names/n val1 val2 val3/n val1 val2 val3/n columns names /n val1 val2 val3/n

Solo me importan las líneas con valores. Estas líneas de valor son todas de formato de ancho fijo y tienen la misma longitud de línea. Las otras líneas de basura y nombres de columna pueden tener cualquier ancho de línea.

Cuando pruebo la opción de ancho fijo del archivo plano o la opción derecha irregular, la vista previa se ve mal. ¿Alguna idea de cuál es la forma más fácil de obtener esto en SSIS?


No puede usar la opción de ancho fijo y me parece recordar que la opción derecha desiguales solo se aplica si la irregularidad se encuentra en la última columna completa.

Puede usar la opción derecha irregular y leer todo en una columna de cadena y luego usar columnas derivadas.

Alternativamente, preprocesar el archivo (posiblemente en SSIS, usando un split-right con una división condicional, obteniendo como salida un archivo plano) para filtrar las líneas que va a ignorar y luego puede usar el administrador de conexión de archivos planos en el archivo resultante.

Otra opción es codificar manualmente una tarea de script de fuente de datos.

Sería bueno si pudiera usar archivos más complejos al poder definir nuevos diseños de administrador de conexión en las salidas de otros flujos de datos, pero eso no está disponible actualmente en SSIS.

Este es básicamente el mismo problema que planteé en esta pregunta: ¿Cómo procesar archivos de texto derechos rasgados con muchas columnas suprimidas en SSIS u otra herramienta?


Pruebe esto luego de eliminar manualmente la basura en la parte superior.

  1. establecer la tarea con la opción de ancho fijo
  2. Agregue columnas manualmente a la pestaña avanzada. Aquí necesita agregar 3 columnas con cada una de longitud 4.

Si funciona ... Entonces puede usar una tarea de secuencia de comandos para leer el archivo plano y eliminar la basura antes de ir a la tarea de flujo de datos.