Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, warum der SQL Server-Migrations-Assistent (SSMA) für Oracle nicht konvertiert werden EXCEPTION_INIT
kann.
Hintergrund
Die Ausnahmebehandlung ist ein Programmiersprachenkonstrukt oder ein Mechanismus, der das Auftreten von Ausnahmen, spezielle Bedingungen, die den normalen Programmablauf ändern, behandeln soll. Sie können die PRAGMA EXCEPTION_INIT
Ausnahmenamen anderen Oracle-Fehlercodes zuordnen, die Sie antizipieren können. Sobald Sie den Fehlercode kennen, können Sie ihn verwenden PRAGMA EXCEPTION_INIT
und einen Handler speziell für diesen Fehler schreiben.
Wenn Sie versuchen, PL/SQL-Code mit einer PRAGMA EXCEPTION_INIT
Ausnahme zu konvertieren, ohne eine Fehlernummer im Parameterabschnitt zu definieren, generiert SSMA eine Fehlermeldung, da kein numerisches Literal gefunden wird. Es ist obligatorisch, eine negative Zahl (d. h. die Fehlernummer, für die Sie diese Ausnahme auslösen möchten) im Parameterabschnitt zu übergeben.
Beispiel
Betrachten Sie das folgende Beispiel:
DECLARE
MYEXCEPTION EXCEPTION;
PRAGMA EXCEPTION_INIT(MYEXCEPTION, '');
BEGIN
NULL;
END;
Wenn Sie versuchen, den vorherigen Code in SSMA zu konvertieren, wird kein numerisches Literal im Parameterabschnitt von PRAGMA EXCEPTION_INIT
und generiert daher die folgende Fehlermeldung:
O2SS0055: Falscher EXCEPTION_INIT PRAGMA-Parameter
Mögliche Abhilfen
Die Behebung dieses Fehlers besteht darin, eine Fehlernummer zu definieren, für die Sie diese Ausnahme auslösen möchten. Aktualisieren Sie den Code wie folgt:
DECLARE
MYEXCEPTION EXCEPTION;
PRAGMA EXCEPTION_INIT(MYEXCEPTION, -10000);
BEGIN
NULL;
END;