Datenbankfehlermeldung wird abgefangen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich würde gerne wissen, ob es eine Möglichkeit gibt, Datenbankfehlermeldungen abzufangen und in eine JMP-Variable einzufügen.
Beispiel für eine Oracle-Datenbank, wenn ich versuche, einen Wert einzufügen, der bereits im ID-Primärschlüssel vorhanden ist:
/* JSL */
sql = "INSERT INTO MY.TABLE (ID, DATA) VALUES ('A',150)";
OpenDatabase (dsnDB, sql);
/* LOG-Anzeige */
[Oracle][ODBC][Ora]ORA-00001: Eindeutigkeitsbeschränkung (MY.TABLE) verletzt
ORA-06512: in Zeile 1
Ich möchte in einer JSL-Variablen diesen Stich haben: „[Oracle][ODBC][Ora]ORA-00001: eindeutige Einschränkung (MY.TABLE) verletzt“.
Ich habe im Moment keine Lösungen gefunden.
Danke.
Betreff: Datenbankfehlermeldung wird abgefangenHallo,
Vielen Dank für diese tollen Tipps. Die Protokollerfassungsfunktion ist die Funktion, nach der ich gesucht habe.
Betreff: Datenbankfehlermeldung wird abgefangenHallo,
Eine Möglichkeit hierfür ist die Log Capture-Funktion. Um den JSL-Code zu testen, habe ich zwei verschiedene Arten von Fehlern simuliert:
- Ein Fehler, bei dem keine Verbindung zur Access-Datenbank hergestellt wurde, bevor die Spalten aus der angegebenen Tabelle ausgewählt wurden
- Ein Fehler, der darauf zurückzuführen ist, dass kein geeigneter ODBC-Treiber installiert ist
Ich habe im folgenden JSL-Code und den daraus resultierenden Fehlermeldungen ein Beispiel dafür eingefügt, wie Sie das erreichen können, was Sie tun möchten:
Namen standardmäßig hier
( 1 ) ;AccessError01 = „Zugriffsfehler:“ || Protokollerfassung ( Datenbank öffnen (
„DSN=MS Access Database;DBQ=C:UsersstkoprDocumentsMovinOn.accdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;“ ,
„SELECT * FROM tblVehicle“ ,
„tblVehicle“
)) ;
Folgendes wird in das Protokoll geschrieben und die Fehlerzeichenfolge wird in der Variablen AccessError01 für Szenariotest 1 gespeichert.
„Zugriffsfehler:[Microsoft][ODBC Microsoft Access Driver] Datei „(unbekannt)“ konnte nicht gefunden werden.
"
Folgendes wird in das Protokoll geschrieben und die Zeichenfolge in der Variablen AccessError01 für Szenariotest 2 gespeichert.
„Zugriffsfehler:[iODBC][Treibermanager]Datenquellenname nicht gefunden und kein Standardtreiber angegeben. Treiber konnte nicht geladen werden
"
Ja, Sie können ... eine Verbindung zu einer ODBC-Datenbank herstellen