일반 바닐라 JDBC 코드를 사용하여 데이터베이스의 다른 속성에 액세스하는 응용 프로그램이 있습니다. 이것은 데이터베이스 밑에 불가사의합니다.오라클 드라이버가 JDBC4와 정말 호환 가능
그러나이 사용하는 기능 중 하나
(열이 연결의 메타 데이터에 getColumns를 결과에 IS_AUTOINCREMENT 값 액세스 autoincremented 경우 특히 결정하려고) JDBC4 준수하도록 운전자를 필요것은 IS_AUTOINCREMENT 열이 JDBC 4 사양에 추가 반환하지 않습니다, 심지어 오라클의 oracle.jdbc.OracleDriver 준수 JDBC 4 주장 ojdbc6.jar에 포함하여 해당된다 이것은 알 수없는 열에 대해 SQLException을 생성하고 Oracle dbs에 대해 응용 프로그램을 사용할 수 없도록 만듭니다.
SELECT NULL AS의 TABLE_CAT, TABLE_SCHEM AS t.owner, TABLE_NAME AS t.table_name, COLUMN_NAME AS t.column_name, DECODE를 (다음과 같이 오라클의 드라이버에 의해 실행
SQL 쿼리입니다 t.data_type, 'CHAR', 1, 'VARCHAR2', 12, 'NUMBER', 3, 'LONG', -1, 'DATE', 93, 'RAW', -3, 'LONG RAW' ,
2005 년 'BLOB', 2005, 'BFILE', -13, 'FLOAT', 6, 'TIMESTAMP , ' IMESTAMP (6) 현지 시간대 ', -102, '년 (2) ~ 월 ', -103, '일간 (2) ~ 초 (6) ', -104, 'BINARY_FLOAT ', 100 'BINARY_DOUBLE'101 'XMLTYPE'2007 DATA_TYPE AS 1,111) , TYPE_NAME AS t.data_type, DECODE (t.data_precision, NULL, DECODE (t.data_type 'CHAR' t. CHAR_LENGTH,
'VARCHAR't.char_length,
'VARCHAR2't.char_length,
'NVARCHAR2't.char_length,
'NCHAR't.char_length,
01,235,'NUMBER'0 t.data_length) t.data_precision) AS COLUMN_SIZE, 0 BUFFER_LENGTH, DECODE (t.data_type 'NUMBER'DECODE (t.data_precision,
NULL, -127 AS, DECIMAL_DIGITS AS
t.data_scale)
t.data_scale) NUM_PREC_RADIX AS DECODE (t.nullable, 'N', 0, AS 비고 1) AS 널, NULL, t.data_default AS COLUMN_DEF , 0 AS sql_data_type, 0 AS sql_datetime_sub, t.data_length AS char_octet_length,WHERE t.owner LIKE ALL_TAB_COLUMNS의 t FROM AS IS_NULLABLE ORDINAL_POSITION, DECODE (t.nullable, 'N', 'NO', 'YES') AS 691,363,210 t.column_id 1 ESCAPE '/'AND t.table_name 를 LIKE : 2 ESCAPE '/'AND t.column_name LIKE : 3 ESCAPE TABLE_SCHEM, TABLE_NAME BY '/'ORDER, ORDINAL_POSITION
어떤 드라이버/대체/해결 방법은 여기에 있습니까?
SQLException에 세부 정보가 포함되어 있습니까? –
열이 결과 집합에 없습니다. 설명하기 위해 실행 된 쿼리를 추가하고 있습니다. – Johnco