날짜/시간 유형, SQL 및 디버거
디버거가 일부의 경우에 sqlDataCode 특성을 사용하여 날짜/시간 유형의 형식을 판별합니다.
IBM®VisualAge® Generator에서 마이그레이션한 경우 SQL 데이터베이스의 날짜, 시간 및 시간소인 열을 해당하는 EGL 레코드 정의의 CHAR 데이터로 정의할 수 있습니다. 또한 데이터 액세스 애플리케이션 마법사 또는 SQL 검색 기능을 통해 EGL이 작성하는 레코드가 날짜/시간 데이터에 대해 문자 유형(CHAR, UNICODE 또는 STRING)을 사용하도록 환경 설정을 설정할 수 있습니다. EGL이 작성하는 이러한 문자 필드에 sqlDataCode 특성이 선택적으로 포함될 수 있으며, 이는 DB2® SQL 표에서 열 유형을 유지합니다.
다음 표는 EGL 디버거가 날짜/시간 데이터에 대해 적절한 형식을 판별하는 방법에 대해 보여줍니다.
| 데이터 유형 | 형식화 |
|---|---|
| EGL DATE, TIME 또는 TIMESTAMP | 값이 EGL 및 데이터베이스 간에 JDBC 날짜, 시간 또는 시간소인 오브젝트로 전달됩니다. EGL이나 JDBC 드라이버 모두 데이터를 형식화해야 합니다. |
| sqlDataCode 특성이 포함된 문자 필드 | 데이터가 검색되거나 데이터베이스에 작성될 때 적합한 strLib.defaultDateFormat, defaultTimeFormat 또는 defaultTimeStampFormat 시스템 변수가 형식을 판별합니다. 디버거의 경우 이러한 변수의 초기 값은 디버그 빌드 디스크립터에서 발생합니다. |
| sqlDataCode 특성이 없는 문자 필드 | EGL은 임의의 항목을 형식화하지 않으며 JDBC 드라이버 앞뒤로 전달되는 모든 데이터를 사용합니다. |
DB2 JDBC Universal
Driver를 사용할 때, 사용자의 디버그 sqlDB 빌드 디스크립터에서
지정하는 연결 URL의 특성을 통해 JDBC 드라이버에서 전달되는 데이터의 형식을
제어할 수 있습니다.
다음 특성이 사용 가능합니다.
- dateFormat = n(현재 DB2 V9, 수정팩 1)
- timeFormat = n
- timestampFormat = n(현재 DB2 V9, 수정팩 4)
- timestampPrecisionReporting = n(현재 DB2 V9, 수정팩 6)
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;