2012-09-05 3 views
0

런타임시 다양한 작업에 대해 다양한 H2 데이터베이스 파일을로드해야하는 응용 프로그램이 있으며로드 된 DB가 미리 정의 된 스키마를 준수하는지 확인할 수 있어야합니다. 이 말은 정보 테이블을 쿼리하여 특정 테이블이 있는지 여부와 이들 테이블에 올바르게 정의 된 열 (예 : 데이터 형식, 길이, 인덱스 등)이 있는지 여부를 확인합니다.열 데이터 형식

제 질문은 H2의 내부 데이터 유형에 관한 것이며, 그들이 INFORMATION_SCHEMA.COLUMNS에 나열된 값에 ​​어떻게 매핑되는지에 관한 것입니다. 예를 들어 나는 INT 4의 데이터 형식에 매핑되는

CREATE TABLE test (id int primary key, some_string varchar(32) ...) 

테이블 작성 예 동안 주어진이 테이블의 DATA_TYPE 열이 제대로 열 데이터 유형을 반영 정정입니까? 내부 코드에 대한 데이터 유형의 매핑 목록이 있습니까?

답변

1

INFORMATION_SCHEMA.COLUMNSDATA_TYPE 열은 DatabaseMetaData.getColumns 열 5 (DATA_TYPE)에 매핑됩니다. 명세마다 이것은 java.sql.Types에 정의 된 정수 여야합니다. 상수는 4 means INTEGER입니다.

이것은 JDBC 표준의 일부이며 변경되지 않습니다.

+0

설명해 주셔서 감사합니다. – user1615803