日付/時刻型、SQL、およびデバッガー

デバッガーは日付/時刻型のフォーマットを判別するために sqlDataCode プロパティーを使用することがあります。

IBM®VisualAge® Generator からマイグレーションした場合は、SQL データベースの日付列、時刻列、およびタイム・スタンプ列を、対応する EGL レコード定義の CHAR 型データとして定義できます。また、EGL が「データ・アクセス・アプリケーション」ウィザードまたは SQL 検索機能を使用して作成するレコードで、日付/時刻データに文字型 (CHAR、UNICODE、または STRING) を使用するように、設定を変更できます。EGL が作成するこれらの文字フィールドには、オプションで sqlDataCode プロパティー (DB2® SQL 表の列の型を保持するプロパティー) を含めることができます。

下の表に、EGL デバッガーによる日付/時刻データの適切なフォーマットの判別方法を示します。

表 1. 日付/時刻データのフォーマット
データ型 フォーマット
EGL DATE、TIME、または TIMESTAMP EGL とデータベースの間で、値が JDBC Date、Time、または Timestamp オブジェクトとして渡されます。EGL および JDBC ドライバーはデータをフォーマットする必要はありません。
sqlDataCode プロパティーが設定されている文字フィールド データの取得時またはデータベースへのデータの書き込み時に、適切なシステム変数 strLib.defaultDateFormatdefaultTimeFormat、または defaultTimeStampFormat によりフォーマットが決定します。デバッガーでは、これらの変数の初期値はデバッグ・ビルド記述子から取得されます。
sqlDataCode プロパティーが設定されていない文字フィールド EGL はフォーマットを行わず、JDBC ドライバーとの間で受け渡されるデータを使用します。
DB2 JDBC Universal Driver を使用しているときは、デバッグ sqlDB ビルド記述子に指定した接続 URL のプロパティーを使用して、JDBC ドライバーから渡されるデータのフォーマットを制御できます。選択可能なプロパティーは、以下のとおりです。

n の有効な値については、DB2 の資料を参照してください。

DB2 JDBC Universal Driver 以外のドライバーを使用する場合は、使用可能な同等ドライバーについて、ドライバーの資料を参照してください。

sqlDB ビルド記述子に割り当てられた接続 URL を以下の例に示します。 コロンとセミコロンを区別してください。
jdbc:db2://ctfmvs07.rtp.raleigh.ibm.com:9070/NQA17D03:retrieveMessagesFromServerOnGetMessage=true;dateFormat=2;timestampFormat=1;timestampPrecisionReporting=2;

フィードバック