SSIS: export query result from t-sql flat file

martedì 25 agosto 2009 - 17.02

the_driver Profilo | Senior Member

Ciao a tutti, ho creato un file .sql con all'interno una particolare query che estrae N record. Tali record le vorrei esportare in un file excel.

Per fare ciò,vorrei creare un package SSIS, con all'interno un DATA FLOW task che richiama la query dal file .sql e che quindi mi esporta sul file excel.

Come posso passare la query del file .sql al componente DATA FLOW ?

Premesso che potrei copiare il codice SQL nella textarea del componente e risolvere il problema, ma vi spiego come mai devo operare cosi:

- il file .sql ha come prima riga il comando
Use Db_name go ....
in quanto, Db_name viene sostituito dinamicamente da una routine C# (che apre il file .sql in scrittura)

- quindi una routin C# deve richiamare questo package SSIS (che leggerà il file .sql con il DB attuale)ed esporterà i valori in un excel

- tutti i DB sono su un unico server,quindi non devo modificare la connection string


Sapete darmi qualche dritta? grazie!

alx_81 Profilo | Guru

>Ciao a tutti, ho creato un file .sql con all'interno una particolare
>query che estrae N record. Tali record le vorrei esportare in
>un file excel.
Ciao

>
>Per fare ciò,vorrei creare un package SSIS, con all'interno un
>DATA FLOW task che richiama la query dal file .sql e che quindi
>mi esporta sul file excel.
>
>Come posso passare la query del file .sql al componente DATA FLOW ?
Il file SQL viene letto e il contenuto viene copiato sulla textarea, non puoi puntare un file.

>Sapete darmi qualche dritta? grazie!
io cambierei approccio, e piuttosto sposterei la logica della routine nel ssis direttamente. Farei appunto un ssis che da una "configurazione" va a leggere l'elenco dei db per cui devi fare le query.
Poi all'interno di un for each container ciclerei l'elenco dei db e andrei a cambiare con una expression un connection manager. Poi la query è comunque la medesima.
Che ne pensi?
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

the_driver Profilo | Senior Member

grazie Alex

Ciao ho praticamente "trasferito" la mia idea (sviluppata in sql) in SSIS. Ho solo il seguente problema. Dopo che ho fatto il build del package, come posso modificare la connection string (source e destination) attraverso C# ?

Grazie

alx_81 Profilo | Guru

>Ciao ho praticamente "trasferito" la mia idea (sviluppata in
>sql) in SSIS. Ho solo il seguente problema. Dopo che ho fatto
>il build del package, come posso modificare la connection string
>(source e destination) attraverso C# ?
ciao,
che ne dici di fare un connection manager ad uno dei db, e poi, per cambiarlo, segui le indicazioni di questo mio post:
http://blogs.dotnethell.it/suxstellino/Come-configurare-dinamicamente-i-ConnectionManager__4089.aspx
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5