6. JDBC 4.2 API References#
JDBC 4.2 API를 준수하는 Altibase JDBC 드라이버에서 지원하는 기능과 지원하지 않는 기능을 보여주는 표이다.
java.sql.Connection#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| createBlob() | 4.0 | O | long 데이터형은 지원하지 않음 | |
| createClob() | 4.0 | O | long 데이터형은 지원하지 않음 | |
| createNClob() | 4.0 | X | Clob 객체에 대한 다국어 처리 미지원 | SQLFeatureNotSupported 예외 발생 |
| createSQLXML() | 4.0 | X | SQLXML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| isValid(int timeout) | 4.0 | O | ||
| setClientInfo(String name, String value) | 4.0 | O | 알티베이스 JDBC는 클라이언트 속성 중 ApplicationName만 지원 | |
| setClientInfo(Properties properties) | 4.0 | O | ApplicationName만 지원 | |
| getClientInfo(String name) | 4.0 | O | ApplicationName만 지원 | |
| getClientInfo() | 4.0 | O | ApplicationName만 지원 | |
| createArrayOf(String typeName, Object[] elements) | 4.0 | X | Array 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| createStruct(String typeName, Object[] attributes) | 4.0 | X | Struct 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setSchema(String schema) | 4.1 | X | 스키마 미지원 | 스펙에 따라 예외는 발생 안하고 그냥 요청이 무시됨 |
| getSchema() | 4.1 | X | 스키마 미지원 | 예외는 발생 안하고 null이 리턴됨 |
| abort(Executor executor) | 4.1 | O | ||
| setNetworkTimeout(Executor executor, int milliseconds) | 4.1 | O | Altibase JDBC 드라이버 내부에서 TCP/IP의 SO_TIMEOUT socket 옵션을 이용하기 때문에 Executor는 null을 반환(return)해도 무방 | |
| getNetworkTimeout() | 4.1 | O | JDBC의 response_timeout 속성과 연동하여 해당 속성값을 반환 |
java.sql.Wrapper#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| unwrap(Class |
4.0 | O | ||
| isWrapperFor(Class<?> iface) | 4.0 | O |
알티베이스 JDBC 드라이버에서 java.sql.Wrapper 인터페이스를 구현하고 있는 클래스 목록
- AltibaseConnection
- AltibaseStatement
- AltibaseResultSet
- AltibaseResultSetMetaData
- AltibaseDataSource
- AltibaseParameterMetaData
- Altibase42DatabaseMetaData
java.sql.Driver#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| getParentLogger() | 4.1 | O | ||
java.sql.Statement#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| setPoolable(boolean poolable) | 4.0 | O | 알티베이스 JDBC에서 직접 Statement Pool은 지원하지 않고 플래그 설정만 가능 | |
| isPoolable() | 4.0 | O | ||
| closeOnCompletion() | 4.1 | O | ||
| isCloseOnCompletion() | 4.1 | O | ||
| executeLargeBatch() | 4.2 | O | ||
| executeLargeUpdate(String sql) | 4.2 | O | ||
| getLargeMaxRows() | 4.2 | O | ||
| setLargeMaxRows(long max) | 4.2 | O | ||
| getLargeUpdateCount() | 4.2 | O | ||
java.sql.PreparedStatement#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| setRowId(int parameterIndex, RowId x) | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNString(int parameterIndex, String value) | 4.0 | O | ||
| setNClob(int parameterIndex, NClob value) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNClob(int parameterIndex, Reader reader) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNClob(int parameterIndex, Reader reader, long length) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setClob(int parameterIndex, Reader reader) | 4.0 | O | ||
| setClob(int parameterIndex, Reader reader, long length) | 4.0 | O | ||
| setBlob(int parameterIndex, InputStream inputStream) | 4.0 | O | ||
| setBlob(int parameterIndex, InputStream inputStream, long length) | 4.0 | O | ||
| setSQLXML(int parameterIndex, SQLXML xmlObject) | 4.0 | X | XML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNCharacterStream(int parameterIndex, Reader value) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNCharacterStream(int parameterIndex, Reader value, long length) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setAsciiStream(int parameterIndex, InputStream x) | 4.0 | O | ||
| setAsciiStream(int parameterIndex, InputStream x, long length) | 4.0 | O | ||
| executeLargeUpdate() | 4.2 | O | ||
| setObject(int parameterIndex, Object x, SQLType targetSqlType) | 4.2 | O | ||
| setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength) | 4.2 | O | ||
java.sql.CallableStatement#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| getRowId(int parameterIndex) | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| getRowId(String parameterName) | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| setRowId(String parameterName, RowId x) | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| getNClob(int parameterIndex) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getNClob(String parameterName) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNClob(String parameterName, NClob value) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNClob(String parameterName, Reader reader) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNClob(String parameterName, Reader reader, long length) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setClob(String parameterName, Clob x) | 4.0 | O | ||
| setClob(String parameterName, Reader reader) | 4.0 | O | ||
| setClob(String parameterName, Reader reader, long length) | 4.0 | O | ||
| setBlob(String parameterName, Blob x) | 4.0 | O | ||
| setBlob(String parameterName, InputStream inputStream) | 4.0 | O | ||
| setBlob(String parameterName, InputStream inputStream, long, length) | 4.0 | O | ||
| setSQLXML(String parameterName, SQLXML xmlObject) | 4.0 | X | XML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getSQLXML(int parameterIndex) | 4.0 | X | XML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getSQLXML(String parameterName) | 4.0 | X | XML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getNString(int parameterIndex) | 4.0 | O | ||
| getNString(String parameterName) | 4.0 | O | ||
| setNString(String parameterName, String value) | 4.0 | O | ||
| getNCharacterStream(int parameterIndex) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getNCharacterStream(String parameterName) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNCharacterStream(String parameterName, Reader reader) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| setNCharacterStream(String parameterName, Reader value, long length | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getCharacterStream(int parameterIndex) | 4.0 | O | ||
| getCharacterStream(String parameterName) | 4.0 | O | ||
| setAsciiStream(String parameterName, InputStream x) | 4.0 | O | ||
| setAsciiStream(String parameterName, InputStream x, long length) | 4.0 | O | ||
| setBinaryStream(String parameterName, InputStream x) | 4.0 | O | ||
| setBinaryStream(String parameterName, InputStream x, long length) | 4.0 | O | ||
| setCharacterStream(String parameterName, Reader reader) | 4.0 | O | ||
| setCharacterStream(String parameterName, Reader reader, long length) | 4.0 | O | ||
| getObject(int parameterIndex, Class |
4.1 | O | ||
| getObject(String parameterName, Class |
4.1 | O | ||
| setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength) | 4.2 | O | ||
| setObject(String parameterName, Object x, SQLType targetSqlType) | 4.2 | O | ||
| registerOutParameter(int parameterIndex, SQLType sqlType) | 4.2 | O | ||
| registerOutParameter(int parameterIndex, SQLType sqlType, int scale) | 4.2 | O | ||
| registerOutParameter(int parameterIndex, SQLType sqlType, String typeName) | 4.2 | O | ||
| registerOutParameter(String parametername, SQLType sqlType | 4.2 | O | ||
| registerOutParameter(String parametername, SQLType sqlType, int scale) | 4.2 | O | ||
| registerOutParameter(String parametername, SQLType sqlType, String typeName) | 4.2 | O | ||
java.sql.PooledConnection#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| addStatementEventListener(StatementEventListener listener) | 4.0 | X | Statement Pool을 지원하지 않으므로 동작이 무시됨 | |
| removeStatementEventListener(StatementEventListener listener) | 4.0 | X | Statement Pool을 지원하지 않으므로 동작이 무시됨 |
java.sql.ResultSet#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| getRowId(int columnIndex) | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| getRowId(String columnLabel) | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateRowId(int columnIndex, RowId x) | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateRowId(String columnLabel, RowId x) | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNString(int columnIndex, String nString) | 4.0 | O | ||
| updateNString(String columnLabel, String nString) | 4.0 | O | ||
| updateNClob(int columnIndex, Reader reader) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNClob(int columnIndex, Reader reader, long length) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNClob(String columnLabel, Reader reader) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNClob(String columnLabel, Reader reader, long length) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNClob(int columnIndex, NClob nClob) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNClob(String columnLabel, NClob nClob) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getNClob(int columnIndex) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getNClob(String columnLabel) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getSQLXML(int columnIndex) | 4.0 | X | XML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getSQLXML(String columnLabel) | 4.0 | X | XML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateSQLXML(int columnIndex, SQLXML xmlObject) | 4.0 | X | XML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateSQLXML(String columnLabel, SQLXML xmlObject) | 4.0 | X | XML 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getNString(int columnIndex) | 4.0 | O | ||
| getNString(String columnLabel) | 4.0 | O | ||
| getNCharacterStream(int columnIndex) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| getNCharacterStream(String columnLabel) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNCharacterStream(int columnIndex, Reader x) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNCharacterStream(int columnIndex, Reader x, long length) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNCharacterStream(String columnLabel, Reader reader) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateNCharacterStream(String columnLabel, Reader reader, long length) | 4.0 | X | NCLOB 타입 미지원 | SQLFeatureNotSupported 예외 발생 |
| updateAsciiStream(int columnIndex, InputStream x) | 4.0 | O | ||
| updateAsciiStream(int columnIndex, InputStream x, long length) | 4.0 | O | ||
| updateAsciiStream(String columnLabel, InputStream x) | 4.0 | O | ||
| updateAsciiStream(String columnLabel, InputStream x, long length) | 4.0 | O | ||
| updateBinaryStream(int columnIndex, InputStream x) | 4.0 | O | ||
| updateBinaryStream(int columnIndex, InputStream x, long length) | 4.0 | O | ||
| updateBinaryStream(String columnLabel, InputStream x) | 4.0 | O | ||
| updateBinaryStream(String columnLabel, InputStream x, long length) | 4.0 | O | ||
| updateCharacterStream(int columnIndex, Reader x) | 4.0 | O | ||
| updateCharacterStream(int columnIndex, Reader x, long length) | 4.0 | O | ||
| updateCharacterStream(String columnLabel, Reader reader) | 4.0 | O | ||
| updateCharacterStream(String columnLabel, Reader reader, long length) | 4.0 | O | ||
| updateBlob(int columnIndex, InputStream inputStream) | 4.0 | O | ||
| updateBlob(int columnIndex, InputStream inputStream, long length) | 4.0 | O | ||
| updateBlob(String columnLabel, InputStream inputStream) | 4.0 | O | ||
| updateBlob(String columnLabel, InputStream inputStream, long length) | 4.0 | O | ||
| updateClob(int columnIndex, Reader reader) | 4.0 | O | ||
| updateClob(int columnIndex, Reader reader, long length) | 4.0 | O | ||
| updateClob(String columnLabel, Reader reader) | 4.0 | O | ||
| updateClob(String columnLabel, Reader reader, long length) | 4.0 | O | ||
| getObject(int columnIndex, Class |
4.1 | O | ||
| getObject(String columnLabel, Class |
4.1 | O |
javax.sql.CommonDataSource#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| getParentLogger() | 4.1 | O |
java.sql.DatabaseMetaData#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| getRowIdLifetime() | 4.0 | X | RowID 미지원 | SQLFeatureNotSupported 예외 발생 |
| getSchemas(String catalog, String schemaPattern) | 4.0 | O | ||
| supportsStoredFunctionsUsingCallSyntax() | 4.0 | X | False 리턴 | |
| autoCommitFailureClosesAllResultSets() | 4.0 | X | False 리턴 | |
| getClientInfoProperties() | 4.0 | O | ApplicationName만 지원 | |
| getFunctions(String catalog, String schemaPattern, String functionNamePattern) | 4.0 | O | ||
| getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern,String columnNamePattern) | 4.0 | O | ||
| getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) | 4.1 | X | SQLFeatureNotSupported 예외 발생 | |
| generatedKeyAlwaysReturned() | 4.1 | X | False 리턴 |
java.sql.Blob#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| getBinaryStream(long pos, long length) | 4.0 | O |
java.sql.Clob#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| getCharacterStream(long pos, long length) | 4.0 | O |
java.sql.Types#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| REF_CURSOR | 4.2 | X | 아웃바운드 파라미터로 ref cursor사용 불가 |
java.sql.DriverAction#
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| deregister() | 4.2 | x | deregister()를 통한 자원해제는 지원하지 않음 |
java.sql.SQLTypes#
알티베이스 JDBC 드라이버는 java.sql.SQLTypes 인터페이스를 구현하고 있는 AltibaseJDBCType을 지원한다.
| 인터페이스명 | JDBC API 버전 | 지원여부 | 설명 | 예외 처리 |
|---|---|---|---|---|
| getName() | 4.2 | O | ||
| getVendor() | 4.2 | O | ||
| getVendorTypeNumber() | 4.2 | O |
Java 8 Time API#
JDBC spec 4.2를 준수하는 알티베이스 JDBC 드라이버는 다음과 같이 Java8 Time API를 java.sql 타입으로 변환하여 지원한다.
| Java 8 Time Class | Altibase JDBC |
|---|---|
| java.time.LocalDate | java.sql.Date |
| java.time.LocalTime | java.sql.Time |
| java.time.LocalDateTime | java.sql.TimeStamp |
| java.time.OffsetTime | 미지원 |
| java.time.OffsetDateTime | 미지원 |