O2SS0055: parametro PRAGMA non corretto EXCEPTION_INIT (Errore)
Questo articolo illustra il motivo per cui SQL Server Migration Assistant (SSMA) per Oracle non è in grado di convertire EXCEPTION_INIT
.
Background
La gestione delle eccezioni è un costrutto o un meccanismo del linguaggio di programmazione progettato per gestire l'occorrenza di eccezioni, condizioni speciali che modificano il normale flusso di esecuzione del programma. È possibile usare PRAGMA EXCEPTION_INIT
per associare nomi di eccezione ad altri codici di errore Oracle che è possibile prevedere. Dopo aver appreso il codice di errore, è possibile usarlo con PRAGMA EXCEPTION_INIT
e scrivere un gestore in modo specifico per tale errore.
Ogni volta che si tenta di convertire il codice PL/SQL con un'eccezione PRAGMA EXCEPTION_INIT
senza definire un numero di errore nella sezione relativa ai parametri, SSMA genera un messaggio di errore perché non trova un valore letterale numerico. È obbligatorio passare un numero negativo ,ad esempio il numero di errore per il quale si vuole generare questa eccezione, nella sezione del parametro .
Esempio
Considerare l'esempio riportato di seguito.
DECLARE
MYEXCEPTION EXCEPTION;
PRAGMA EXCEPTION_INIT(MYEXCEPTION, '');
BEGIN
NULL;
END;
Quando si tenta di convertire il codice precedente in SSMA, non viene trovato un valore letterale numerico nella sezione parametro di PRAGMA EXCEPTION_INIT e quindi viene generato il messaggio di errore seguente:
O2SS0055: parametro PRAGMA non corretto EXCEPTION_INIT
Possibili rimedi
La correzione di questo errore consiste nel definire un numero di errore per il quale si vuole generare questa eccezione. A tale scopo, aggiornare il codice nel modo seguente:
DECLARE
MYEXCEPTION EXCEPTION;
PRAGMA EXCEPTION_INIT(MYEXCEPTION, -10000);
BEGIN
NULL;
END;
Messaggi di conversione correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per