Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
SSIS: export query result from t-sql flat file
martedì 25 agosto 2009 - 17.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
the_driver
Profilo
| Senior Member
214
messaggi | Data Invio:
mar 25 ago 2009 - 17:02
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
8.814
messaggi | Data Invio:
mar 25 ago 2009 - 17:40
>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
214
messaggi | Data Invio:
mer 26 ago 2009 - 15:56
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
8.814
messaggi | Data Invio:
gio 27 ago 2009 - 12:06
>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
Torna su
Stanze Forum
Elenco Threads
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 !