メインコンテンツまでスキップ
バージョン: 2.1

IBM Db2 JDBC カタログ

Doris JDBC Catalogは、標準のJDBCインターフェースを通じてIBM Db2データベースへの接続をサポートしています。このドキュメントでは、IBM Db2データベース接続の設定方法について説明します。

JDBC Catalogの概要については、以下を参照してください:JDBC カタログ 概要

使用上の注意

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 Driver Documentationで確認できます。

階層マッピング

IBM Db2をマッピングする際、DorisのDatabaseは、DB2の指定されたDataBase(jdbc_urlの"database"パラメータ)配下のSchemaに対応します。そして、DorisのDatabase配下のTableは、DB2のSchema配下のTablesに対応します。マッピング関係は以下の通りです:

DorisIBM Db2
カタログDataBase
DatabaseSchema
TableTable

カラムタイプマッピング

IBM Db2 タイプDoris タイプComment
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
BLOBvarbinaryCatalogのenable.mapping.varbinaryプロパティによって制御されます(4.0.2以降でサポート)。デフォルトはfalseで、stringにマッピングされます;trueの場合、varbinaryタイプにマッピングされます。
otherUNSUPPORTED

よくある問題

  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. Caught java.io.CharConversionException

    この問題は文字セットの問題が原因の可能性があります。be.confJAVA_OPTSに設定-Ddb2.jcc.charsetDecoderEncoder=3を追加してから、BEを再起動して問題が解決するかを確認してください。12などの値も試すことができます。詳細については、https://www.ibm.com/docs/en/content-collector/4.0.1?topic=manager-jdbc-throws-javaiocharconversionexceptionを参照してください。