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 - parametri di ingresso
mercoledì 28 gennaio 2009 - 18.18
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
paspan
Profilo
| Newbie
7
messaggi | Data Invio:
mer 28 gen 2009 - 18:18
salve,
cerco di esporre il mio prob.!
vorrei passare dei parametri da riga di comando, da utilizzare come variabili in una clusula where.
La select che contiene la where si trova in un Componente "OLE DB Source".......
il tutto ovviamente fatto in SSIS......
qualche idea?
ciao ciao
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 28 gen 2009 - 18:34
>salve,
Ciao e benvenuto su dotnethell!
>vorrei passare dei parametri da riga di comando, da utilizzare come variabili in una clusula where.
>La select che contiene la where si trova in un Componente "OLE DB Source".......
>il tutto ovviamente fatto in SSIS......
Cosa intendi con "passare dei parametri da riga di comando"? Intendi usando la DTExec?
--
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
paspan
Profilo
| Newbie
7
messaggi | Data Invio:
mer 28 gen 2009 - 18:41
nn necessariamente.....
es:
ho una winForm dalla quale avvio l'esecuzione del packege (e nn ho nemmeno controllato se si puo fare), assumendo che si possa fare.
I parametri vengono quindi presi in input dalla form e passati al package per poi utilizzarli come parametri per una where:
es. Select * from MTable WHERE col1 = @Var1 AND col2 = @Var2
sia val1 che val2, vorrei legerli da input.
Spero di essemi spiegato, è un impresa pure farsi capire a parole! :)
grazie
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
mer 28 gen 2009 - 18:46
Scusate l'intromissione e la mia ignoranza, ma cosa intendi per package...
Recentemente ho dato indicazioni ad un'altro utente di questo forum su come fare per passare parametri da riga di comando ad una sua applicazione.
Se può essere utile posto il link:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=28300
altrimenti scusate l'intromissione.
Ciao.
paspan
Profilo
| Newbie
7
messaggi | Data Invio:
gio 29 gen 2009 - 00:27
ciao...
ma figurati....
nn intendevo da applicazione semplicemente....:(
intendevo in input per un task di SSIS.
grazie
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 29 gen 2009 - 15:28
>intendevo in input per un task di SSIS.
Puoi illustrarci come richiami il SSIS? Vedrai che ci arriviamo
Poi posto sul mio blog la soluzione, perchè può servire
--
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
paspan
Profilo
| Newbie
7
messaggi | Data Invio:
gio 29 gen 2009 - 15:38
Io avevo pensato!
Vorrei richiamare il package da un applicativo Win form e passargli i dati in qualche modo al package ( se questo si puo fare ).
Altriementi avevo pensato altra strada...... salvo i dati parametri inseriti nei campi dell'applicazione win in una tabella sql che scatena un trigger CLR che lancia il package, che come prima operazione legge l'ultima riga inserita nel DB (tanto i db sono locali e nn multi utenza) che contiene i valori inseriti.
All'interno della procedura SSIS il primo modulo è uno script che legge da DB e valorizza le variabili dichiarate nel package.
p.s.: Ho due dubbi...
1. Posso far partire un package da applicativo .NET (windows form) (uso la verisone express di sql sui client, mentre il package ovviamente lo realizzo usando una macchina dove è presente la versione server
ciao.... (che casino)
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 29 gen 2009 - 15:42
>Vorrei richiamare il package da un applicativo Win form e passargli
>i dati in qualche modo al package ( se questo si puo fare ).
A prescindere dalle soluzioni, dimmi che cosa fa il SSIS, spiegami per bene la situazione reale, magari troviamo il metodo migliore con piu' sicurezza.
--
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
paspan
Profilo
| Newbie
7
messaggi | Data Invio:
gio 29 gen 2009 - 15:51
L'operazione è semplicissima.....
Assumiamo che i paramentri sono stati passati alla procedura SSIS,
viene fatta una ricerca su un DB oracle del tipo:
select * from Tabella where Val1 <= Km1 AND km1 <= val2
le rows risultanti vengono copiate nella tabella destinazione su SQL
FINE
il mio problema è prendere Val1 e Val2 (ma questo lo sappiamo )
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 29 gen 2009 - 16:01
>Assumiamo che i paramentri sono stati passati alla procedura SSIS,
dalla winform che dicevi prima..
>viene fatta una ricerca su un DB oracle del tipo:
>select * from Tabella where Val1 <= Km1 AND km1 <= val2
>le rows risultanti vengono copiate nella tabella destinazione su SQL
Quindi l'utente apre una applicazione windows e fa il transfer dei dati in base ai due parametri. Ti faccio due domande:
1) Perchè hai deciso di usare SSIS? Perchè hai trasformazioni di complesse e logiche particolari? Perchè se si tratta di una copia 1:1 (tabelle identiche o cmq molto simili per cui non servono trasformazioni particolari) puoi fare tutto direttamente da windows form con due connectionstring e ADO. Ovviamente però, devi avere i driver di ORACLE e di SQL SERVER per poterli far parlare tra loro.
2) Ammesso che usi SSIS, dalla windows application segnerei in una tabella (una coda) le richieste direttamente su dbserver. Un job che gira ogni "tot" tempo scoda le richieste di quella coda, in cui avrai scritto i parametri da passare al SSIS. Il SSIS come prima cosa legge i parametri con un cliclo foreach sulla coda.
Sappi che si possono passare i parametri usando gli oggetti e le librerie del runtime di SSIS. Ma devi installare le dll per poterle usare da Winapp.
Slegherei il tutto con la seconda soluzione. La winapp, a mio avviso, dovrebbe occuparsi solo di accodare, il DBServer, tramite JOB dovrebbe preoccuparsi di scodare ed eseguire l'importazione dei dati da oracle. In questo modo i provider di connessione risiederanno solo sul dbserver e non su ogni client in cui installi l'applicazione.
--
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
paspan
Profilo
| Newbie
7
messaggi | Data Invio:
gio 29 gen 2009 - 16:06
l'allinamento da codice e tramite connessioni normalissime OLE ..ADO ecc....
lo gia realizzata :)
Ma volevo usare SSIS, in primis per iniziare a piazzarlo su qualche progetto, e poi perchè ha delle performace di trasferimento dati molto buone.
Che devo scaricare per usare SSIS da codice...mi dicevi delle dll....mi potresti postare il link se lo hai a portata di mano...altrimenti lo cerco!
Provo a realizzare la seconda soluzione :)
thx
Sei stato gentilissimo
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 29 gen 2009 - 16:25
>Ma volevo usare SSIS, in primis per iniziare a piazzarlo su qualche
>progetto, e poi perchè ha delle performace di trasferimento dati
>molto buone.
Sì, è vero, ma non lo lancerei da una windows form. Non lo vedo progettato per quello
>Che devo scaricare per usare SSIS da codice...mi dicevi delle dll....mi potresti postare il link se lo hai a portata di mano...altrimenti lo cerco!
leggi qui, forse hai già l'assembly
http://msdn.microsoft.com/en-us/library/ms136090.aspx
>Provo a realizzare la seconda soluzione :)
in effetti è più scalabile
--
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 !