(SSIS) Tarea de flujo de datos: exportar SQL a un archivo de Excel

(SSIS) Tarea de flujo de datos: exportar SQL a un archivo de Excel

Estoy buscando una solución/tutorial siguiente caso. En la base de datos MS SQL tengo dos tablas (factura, artículo de factura). Necesito exportar datos para sobresalir.

Mi problema es la estructura del archivo de Excel de exportación.

  1. Primer registro de la tabla "factura"
  2. registros relacionados de la tabla “artículo de factura”
  3. fila vacía

  4. Segundo registro de la tabla “factura”

  5. registros relacionados de la tabla “artículo de factura”
  6. fila vacía

  7. Tercer registro de la tabla “factura”

  8. registros relacionados de la tabla “artículo de factura”
  9. fila vacía

  10. ...

  11. Último registro de la tabla "factura"
  12. registros relacionados de la tabla “artículo de factura”
  13. fila vacía

¿Alguien conoce un buen ejemplo?

Respuesta1

La respuesta a esta pregunta es un poco complicada.

  • Cree dos variables llamadas Factura como objeto, facturaId como cadena (supongo que este es el campo de enlace entre estas dos tablas).
  • Ahora, utilizando la tarea de secuencia de comandos, enumere los ID de factura de la tabla de facturas y guárdelos en el objeto Factura. En el conjunto de resultados, el nombre del resultado es 0 y el nombre de la variable es Usuario::Factura.
  • Extraiga cada contenedor de bucle y elija el enumerador ADO, luego elija Usuario::Factura como objeto ADO. Ahora vaya a la asignación de variables y pase el campo InvoiceID a la variable User::invloiceId.
  • Ahora agregue la tarea de flujo de datos. Elija tres fuentes. Uno de la tabla de facturas, otro de la tabla InvoiceItem y otro como fila en blanco (convierta mediante conversión de datos si es necesario, ya que esta es una fila en blanco)
  • Ahora, usando el parámetro use ID de factura en la condición donde en cada tabla.
  • Utilice union all para hacer la unión de las tres salidas.
  • Ahora elija el destino como Excel y pásele todos los datos.

Espero que esto resuelva su problema. Gracias.

información relacionada