Ssis e msgbox

domenica 07 marzo 2010 - 11.46

trappy Profilo | Newbie

salve, volevo sapere se è possibile durante l'esecuzione di un ssis visualizzare un messaggio. Mi spiego meglio, ho la necessità di leggere dei dati da excel, e se questi dati rispettano alcune regole importali in una tabelle del database, altrimenti non fare nulla e informare l'utente. Mi basta un msgbox fisso del tipo "dati non corretti. Nessuna operazione eseguita" E' possibile o devo ricorrere alla scrittura di un file di logo da inviare via mail? grazie a tutti

alx_81 Profilo | Guru

>salve,
Ciao e benvenuto su Dotnethell.it!

> Mi spiego meglio, ho la necessità
>di leggere dei dati da excel, e se questi dati rispettano alcune
>regole importali in una tabelle del database, altrimenti non
>fare nulla e informare l'utente. Mi basta un msgbox fisso del
>tipo "dati non corretti. Nessuna operazione eseguita" E' possibile
>o devo ricorrere alla scrittura di un file di logo da inviare
>via mail?
Come capisci se i dati non sono corretti? Via script è sempre possibile usare messagebox, ma dipende che devi fare. Se ti serve solo in fase di debug ok, ma nel caso in cui il controllo debba essere fatto a regime ci sono altre strade da seguire.

>grazie a tutti
di nulla!

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

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

trappy Profilo | Newbie

mi serve a regime. Per sapere se i dati sono corretti pensavo di fare una sp che mi restituisca 1 se sono corretti e 0 se non lo sono (dipende se i valori immessi a mano nel foglio excel rispettano determinati vincoli). Cosa mi suggerisci? grazie

alx_81 Profilo | Guru

>mi serve a regime. Per sapere se i dati sono corretti pensavo
>di fare una sp che mi restituisca 1 se sono corretti e 0 se non
>lo sono (dipende se i valori immessi a mano nel foglio excel
>rispettano determinati vincoli). Cosa mi suggerisci? grazie
Se ti serve a regime è meglio che pensi ad un'infrastruttura basata sui constraint.
Con un Execute SQL Task lanci la stored procedure che ti fa il controllo preventivo. Poi crei un task di comunicazione che invia una email con quanto ti serve e lo colleghi all'elaborazione precedente. Decidi tu se lanciare un'eccezione dalla stored procedure o se tornare un valore. Nel secondo caso, basta legare i due task con una freccia verde ed impostare un'espressione che controlli il valore di ritorno. Nel primo caso la freccia deve invece essere rossa. Ad ogni modo, potresti valorizzare comunque delle variabili di output della stored per creare il messaggio della email.

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

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

trappy Profilo | Newbie

ok, grazie mille. Cercavo qualcosa di + immediato per l'utente, senza doverlo costringere a leggere la mail per sapere se è i dati sono stati aggiornati oppure no. Ma se non è possibile vada x la mail!

alx_81 Profilo | Guru

>ok, grazie mille. Cercavo qualcosa di + immediato per l'utente,
>senza doverlo costringere a leggere la mail per sapere se è i
>dati sono stati aggiornati oppure no. Ma se non è possibile vada
>x la mail!
Ma no, non è che non è possibile.. ma un ssis di solito non si dà all'utente. E un messagebox non è un feedback affidabile che rimane nel tempo.
Ma qual è la distribuzione che devi dare?
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

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

trappy Profilo | Newbie

gli utenti preferiscono fare manutenzione sul foglio excel, è che poi il gestore del sistema non si fida degli utenti... e allora pensavo: ok, l'utente fa manutenzione sui dati in excel, poi lancia il ssis e se i dati sono ok aggoirno le tabelle effettive di sql, se no messaggio all'utente: "dati non corretti". Non volevo fare un programma perchè il ssis è + manutenibile nel tempo se mi aggiungono un campo o mi cambiano qualcosa... grazie mille x la pazienza!

alx_81 Profilo | Guru

>gli utenti preferiscono fare manutenzione sul foglio excel, è
>che poi il gestore del sistema non si fida degli utenti... e
>allora pensavo: ok, l'utente fa manutenzione sui dati in excel,
>poi lancia il ssis e se i dati sono ok aggoirno le tabelle effettive
>di sql, se no messaggio all'utente: "dati non corretti". Non
>volevo fare un programma perchè il ssis è + manutenibile nel
>tempo se mi aggiungono un campo o mi cambiano qualcosa... grazie
>mille x la pazienza!
è corretto che gli utenti lavorino sull'excel ed è corretto che sia il ssis a fare il controllo.
Ma preferisco la visione batch. Penserei ad un processo sql (JOB) che lancia il ssis ogni tot e il ssis, prendendo i file da elaborare, effettua i controlli.
Se qualcosa va male, arriva la mail dell'errore al gestore del sistema..

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

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

trappy Profilo | Newbie

se avessi a che fare con una situazione tradizionale la tua soluzone è senza dubbio la migliore... ma purtoppo non è proponibile nel mio contesto, dovrei avere il ssis schedulato ogni 2 min e mi pare un pò esagerato... inoltre magari l'utente lascia il file excel con dei dati non corretti perchè sta facendo delle prove sue... quindi lascio all'utente la scelta di quando secondo lui i dati sono ok e possono essere importati... ma siccome fidarsi è bene ma non fidarsi è meglio il gestore vuole cmq un controllo sui dati (e lo capisco!) e quindi avevo pensato al messaggio...

alx_81 Profilo | Guru

>se avessi a che fare con una situazione tradizionale la tua soluzone
>è senza dubbio la migliore... ma purtoppo non è proponibile nel
>mio contesto, dovrei avere il ssis schedulato ogni 2 min e mi
>pare un pò esagerato... inoltre magari l'utente lascia il file
>excel con dei dati non corretti perchè sta facendo delle prove
>sue... quindi lascio all'utente la scelta di quando secondo lui
>i dati sono ok e possono essere importati... ma siccome fidarsi
>è bene ma non fidarsi è meglio il gestore vuole cmq un controllo
>sui dati (e lo capisco!) e quindi avevo pensato al messaggio...
ok, allora sinceramente basta dargli il ssis e se lo guarda in debug con visual studio.
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

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

trappy Profilo | Newbie

io veramente pensavo di farli lanciare direttamente il .dtsx ma non dal visual studio... però l'idea potrebbe essere da non scartare... grazie
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5