Was passiert innerhalb von RPG- oder Cobol-Programmen, wenn ein SQL-Fehler auftritt? Es wird ein entsprechender SQLCODE und SQLSTATE ausgegeben. So weit so gut! Was passiert, wenn im Programm weder SQLCODE noch SQLSTATE geprüft werden? Das Programm läuft einfach weiter … und irgendwann kommt das böse Erwachen. Mit SELF (SQL Error Logging Facility) kann protokolliert werden, wo und wann welcher SQLCODE ausgegeben wurde. Was sich hinter SELF verbirgt, wie es aktiviert und auch wieder deaktiviert werden kann, erfahren Sie in diesem Artikel. Was ist SELF? Die Abkürzung SELF steht für SQL Error Logging Facility und repräsentiert einen Mechanismus, der hilft SQL-Statements (z. B. SELECT oder UPDATE), die bestimmte SQL-Fehler und -Warnungen produzieren, zu lokalisieren, zu verstehen und im Anschluss zu korrigieren. Protokolliert werden nur Informationen über SQL-Statements, die einen der vorgegebenen SQLCODES produzieren. Dabei werden nicht nur SQL-Statements, die in Programmen hinterlegt sind, überwacht und protokolliert, sondern alle SQL-Statements, also auch adhoc-Abfragen und über ODBC oder JDBC abgesetzte SQL-Statements. Die zu protokollierenden SQLCODES müssen in der SQL Globalen Variable SELFCODES in der Bibliothek SYSIBMADM hinterlegt werden. Anmerkung: SELF unterstützt nur SQLCODES, keine SQLSTATES! Korrekt ausgeführte SQL-Statements werden ebenso wenig protokolliert, wie SQL-Statements die SQLCODES produzieren, die nicht in der Globalen Variablen...
Quelle: ImageFlow, Adobe Stock PhotoVerwandte Beiträge
Deep Dive mit Theo Bär: IBM i Access Mobile
6 Min. Lesedauer
Deep Dive mit Theo Bär: IBM i ACS – Die neue Version 1.1.9.12
6 Min. Lesedauer