본문으로 건너뛰기
최종 수정: 에

IBM Db2 JDBC Catalog

Doris JDBC Catalog는 표준 JDBC 인터페이스를 통해 IBM Db2 데이터베이스에 연결할 수 있습니다. 이 문서에서는 IBM Db2 데이터베이스 연결을 구성하는 방법을 설명합니다.

JDBC Catalog에 대한 개요는 JDBC Catalog 개요를 참조하세요.

사용 시 참고 사항​

IBM Db2 데이터베이스에 연결하려면 다음이 필요합니다.

  • IBM Db2 11.5.x 이상

  • IBM Db2 데이터베이스용 JDBC 드라이버. Maven Repository에서 IBM Db2 드라이버의 최신 버전 또는 지정한 버전을 다운로드할 수 있습니다. IBM db2 jcc 11.5.8.0 버전 사용을 권장합니다.

  • 각 Doris FE 및 BE 노드와 IBM Db2 서버 간의 네트워크 연결. 기본 포트는 51000입니다.

IBM Db2 연결​

CREATE CATALOG db2_catalog PROPERTIES (
'type' = 'jdbc',
'user' = 'USERNAME',
'password' = 'PASSWORD',
'jdbc_url' = 'jdbc:db2://host:port/database',
'driver_url' = 'jcc-11.5.8.0.jar',
'driver_class' = 'com.ibm.db2.jcc.DB2Driver'
)

jdbc_url은 IBM Db2 드라이버에 전달할 연결 정보와 매개변수를 정의합니다. 지원되는 URL 매개변수는 Db2 JDBC 드라이버 문서에서 확인할 수 있습니다.

계층 매핑​

IBM Db2를 매핑할 때 Doris의 데이터베이스는 DB2에서 지정한 데이터베이스(jdbc_url의 "database" 매개변수) 아래의 Schema에 대응합니다. Doris 데이터베이스 아래의 테이블은 DB2의 Schema 아래의 테이블에 대응합니다. 매핑 관계는 다음과 같습니다.

DorisIBM Db2
Catalog데이터베이스
데이터베이스Schema
테이블테이블

컬럼 타입 매핑​

IBM Db2 타입Doris 타입설명
smallintsmallint
intint
bigintbigint
doubledouble
double precisiondouble
floatdouble
realfloat
decimal(P, S)decimal(P, S)
decfloat(P, S)decimal(P, S)
datedate
timestamp(S)datetime(S)
char(N)char(N)
varchar(N)varchar(N)
long varchar(N)varchar(N)
vargraphicstring
long vargraphicstring
timestring
clobstring
xmlstring
BLOBVARBINARY4.1.5부터 이 타입은 항상 VARBINARY로 매핑됩니다. enable.mapping.varbinary 속성은 호환성을 위해 유지되지만, false로 설정해도 더 이상 STRING 매핑으로 되돌아가지 않습니다. 이전 버전에서는 이 속성으로 기존 매핑을 선택할 수 있습니다.
기타UNSUPPORTED

일반적인 문제​

  1. JDBC Catalog를 통해 IBM Db2 데이터를 읽을 때 Invalid operation: result set is closed. ERRORCODE=-4470 예외가 발생합니다.

    IBM Db2 Catalog를 생성할 때 jdbc_url 연결 문자열에 연결 매개변수 allowNextOnExhaustedResultSet=1;resultSetHoldability=1;를 추가하세요. 예: jdbc:db2://host:port/database:allowNextOnExhaustedResultSet=1;resultSetHoldability=1;.

  2. java.io.CharConversionException 발생

    이 문제는 문자 집합 문제로 인해 발생할 수 있습니다. -Ddb2.jcc.charsetDecoderEncoder=3 설정을 JAVA_OPTS에 추가하되, 해당 설정이 있는 파일은 be.conf입니다. 그런 다음 BE를 다시 시작하여 문제가 해결되는지 확인해 보세요. 1 또는 2 같은 값으로도 시도해 볼 수 있습니다. 자세한 내용은 다음을 참조하세요: https://www.ibm.com/docs/en/content-collector/4.0.1?topic=manager-jdbc-throws-javaiocharconversionexception