Typen für Datum/Uhrzeit, SQL und Debugger

In einigen Fällen ermittelt der Debugger anhand der Eigenschaft sqlDataCode das Format der Datentypen für Datum/Uhrzeit.

Falls Sie ausgehend von IBM®VisualAge Generator eine Migration durchgeführt haben, können Sie Datums-, Zeit- und Zeitmarkenspalten aus einer SQL-Datenbank in den entsprechenden EGL-Datensatzdefinitionen als Daten des Typs CHAR definieren. Außerdem können Sie Ihre Vorgaben so festlegen, dass von EGL mit dem Assistenten 'Datenzugriffsanwendung' oder mit der SQL-Abruffunktion erstellte Datensätze für Datums-/Zeitangaben einen Zeichendatentyp (CHAR, UNICODE oder STRING) verwenden. Diese von EGL erstellten Zeichenfelder können optional die Eigenschaft sqlDataCode aufweisen, die den Spaltentyp aus einer DB2-SQL-Tabelle beibehält.

In der folgenden Tabelle ist dargestellt, wie der EGL-Debugger die richtige Formatierung für Datums-/Uhrzeitdaten ermittelt.

Tabelle 1. Formatierung für Datums-/Uhrzeitdaten
Datentyp Formatierung
EGL-Typ DATE, TIME oder TIMESTAMP Der Wert wird zwischen EGL und der Datenbank als JDBC-Objekt des Typs 'Date', 'Time' oder 'Timestamp' übergeben. Weder EGL noch der JDBC-Treiber müssen die Daten formatieren.
Zeichenfeld mit Eigenschaft sqlDataCode Die entsprechende Systemvariable strLib.defaultDateFormat, defaultTimeFormat oder defaultTimeStampFormat bestimmt das Format, wenn die Daten aus der Datenbank abgerufen oder in die Datenbank geschrieben werden. Für den Debugger stammen die Anfangswerte für diese Variablen aus dem Builddeskriptor für das Debug.
Zeichenfeld ohne Eigenschaft sqlDataCode EGL nimmt keine Formatierung vor und verwendet die Daten so, wie sie vom JDBC-Treiber zurück- und weitergegeben werden.
Wenn Sie DB2 JDBC Universal Driver verwenden, können Sie das Format der Daten, die vom JDBC-Treiber übergeben werden, über die Eigenschaften der Verbindungs-URL steuern, die Sie im Builddeskriptor sqlDB für das Debug angeben. Die folgenden Eigenschaften sind verfügbar:

Die möglichen Werte für n sind in der DB2-Dokumentation angegeben.

Falls Sie einen anderen Treiber als DB2 JDBC Universal Driver verwenden, suchen Sie in der Treiberdokumentation nach Informationen zu möglichen Äquivalenten.

Beispiel

Das folgende Beispiel zeigt eine Verbindungs-URL, die dem Builddeskriptor sqlDB zugewiesen ist. Achten Sie genau auf die Unterscheidung zwischen Doppelpunkten und Semikolons.
jdbc:db2://ctfmvs07.rtp.raleigh.ibm.com:9070/NQA17D03:retrieveMessagesFromServerOnGetMessage=true;dateFormat=2;timestampFormat=1;timestampPrecisionReporting=2;

Feedback