跳到主要内容

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 仓库下载最新或指定版本的 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 的 Database 对应于 DB2 中指定 DataBase(jdbc_url 参数中的 "database")下的一个 Schema。而 Doris 的 Database 下的 Table 则对应于 DB2 中 Schema 下的 Tables。即映射关系如下:

DorisIBM Db2
CatalogDataBase
DatabaseSchema
TableTable

类型映射

IBM Db2 TypeDoris TypeComment
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
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;