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
Gestione degli errori in una stored procedure
giovedì 03 aprile 2008 - 16.56
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 3 apr 2008 - 16:56
salve ragazzi,
io spesso creo delle stored all'interno delle quali vengono eseguite delle query tramite parameters.
Io vorrei gestire ma non so come fare perchè non lo mai fatto dei messaggi di errore.
Mi spiego meglio:
IO tramite compilatore lancio la stored sql che risiede nel db sql, ovviamente nel momento che la richiamo per eseguirla le invio anche i dati dei parametri. Se capita che i parametri passati sono errati e pertanto la stored o meglio dire la query di select oppure di insert oppure altro genere non viene eseguita, vorrei che sql mi restituisca un messaggio di errore oppure un id che io posso gestire e creare di conseguenza una giusta segnalazione di errore all'operatore.
Mi potete dare un consiglio su come fare?
Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
speedx
Profilo
| Junior Member
111
messaggi | Data Invio:
gio 3 apr 2008 - 17:24
su SQL 2005 Try Catch come in linguaggi .Net
MSDN o Book on line c'è la documentazione
//// Marcello C.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 3 apr 2008 - 19:20
>salve ragazzi,
Ciao!
>io spesso creo delle stored all'interno delle quali vengono eseguite delle query tramite parameters.
>Io vorrei gestire ma non so come fare perchè non lo mai fatto dei messaggi di errore.
>Mi spiego meglio:
>IO tramite compilatore lancio la stored sql che risiede nel db
>sql, ovviamente nel momento che la richiamo per eseguirla le
>invio anche i dati dei parametri. Se capita che i parametri passati
>sono errati e pertanto la stored o meglio dire la query di select
>oppure di insert oppure altro genere non viene eseguita, vorrei
>che sql mi restituisca un messaggio di errore oppure un id che
>io posso gestire e creare di conseguenza una giusta segnalazione
>di errore all'operatore.
>Mi potete dare un consiglio su come fare?
Prima vorrei capire meglio il tuo problema. Tu vuoi fare un controllo preventivo sui parametri prima di eseguire la query? Oppure vuoi restituire errore se con particolari valori si verifica un errore? Che tipi di errore vuoi gestire? Prova a farci un esempio di errore che vorresti gestire e come lo vorresti gestire.
Ci sono vari modi:
Se hai SQL Server 2005, uno è il try catch che indica anche speed-X, la cui reference è
TRY..CATCH (transact-sql)
http://msdn2.microsoft.com/en-us/library/ms175976.aspx
Per SQL Server 2000 o precedenti hai la variabile @@ERROR, da usare dopo lo statement che potenzialmente genera errore:
@@ERROR (transact-sql)
http://msdn2.microsoft.com/en-us/library/ms188790.aspx
oppure se non sono necessariamente eccezioni sollevate da SQL Server puoi gestirle tu utilizzando la RAISERROR laddove vuoi lanciare un errore:
RAISERROR (transact-sql)
http://msdn2.microsoft.com/en-us/library/ms178592.aspx
Con quest'ultima e semplici IF puoi decidere quando lanciare una eccezione personalizzata. Ricorda inoltre che la RAISERROR può essere usata anche nel CATCH del primo costrutto proposto.
Ciao!
Alx81 =)
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 !