O2SS0054: impossibile convertire 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.
Ogni volta che si tenta di convertire il codice PL/SQL con una EXCEPTION_INIT
clausola con un nome di eccezione definito dall'utente, SSMA non è in grado di convertire EXCEPTION_INIT
perché non trova un'eccezione con lo stesso nome nella sezione del parametro.
Esempio
Considerare l'esempio riportato di seguito.
DECLARE
MYEXCEPTION EXCEPTION;
PRAGMA EXCEPTION_INIT(MYEXCEPTION_1, -20000);
BEGIN
NULL;
END;
Nota
Si tratta di un esempio di codice non valido di Oracle, perché Oracle genera anche un messaggio di errore quando si tenta di eseguire questo codice.
Quando si tenta di convertire il codice precedente in SSMA, non identifica l'eccezione MYEXCEPTION_1
definita dall'utente e quindi genera il messaggio di errore seguente:
O2SS0054: impossibile convertire EXCEPTION_INIT
Possibili rimedi
La correzione di questo errore consiste nell'usare lo stesso nome durante la dichiarazione e la definizione di un'eccezione. A tale scopo, aggiornare il codice nel modo seguente:
DECLARE
MYEXCEPTION EXCEPTION;
PRAGMA EXCEPTION_INIT(MYEXCEPTION, -20000);
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