基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
Linux 版 ODBC 驱动安装与配置
更新时间:2026-04-09 15:10:59
获取到 Linux 版 OceanBase Connector/ODBC 安装包后,根据如下步骤进行安装与配置。
安装驱动
检查是否已安装 OceanBase Connector/ODBC,并查看相应版本信息。
```bash rpm -qa | grep odbc rpm -qa | grep obclient ```如果需要替换其他版本,分别执行如下命令删除。
```bash rpm -e ob-connector-odbc-<version_no>.rpm rpm -e libobclient-<version_no>.rpm rpm -e ob-unixodbc-<version_no>.rpm ```安装相应的 OceanBase Connector/ODBC 的 rpm 包。
```bash sudo rpm -ivh ob-connector-odbc-<version_no>.rpm sudo rpm -ivh ob-unixodbc-<version_no>.rpm sudo rpm -ivh libobclient-<version_no>.rpm ```安装后再次检查版本是否正确。
```bash rpm -qa | grep odbc rpm -qa | grep obclient ```
此外,根据实际环境还需要安装 Libtool 相关工具,语法如下:
yum install libtool-ltdl-devel
配置环境变量
配置
odbc.ini到/etc/odbc.ini(也可以自定义目录设置环境变量到相应的目录即可)。```bash $sudo vim /etc/odbc.ini [ODBC Data Sources] data_source_name = OBDSN [OBDSN] Driver=Oceanbase Description = OceanBase Driver DSN SERVER = xxx.xxx.xxx.xxx PORT = 10003 USER = tester@oracle Password = 1****** Database = unittests OPTION = 4 charset=UTF8 [OBDSNMYSQL] Driver=Oceanbase Description = OceanBase Driver DSN SERVER = xxx.xxx.xxx.xxx PORT = 10003 USER = tester@sys Password = 1****** Database = unittests OPTION = 4 charset=UTF8 ``` 配置文件中的参数含义和取值约束如下表所示。 | **参数名称** | **含义** | | --- | --- | | Driver | odbcinst.ini 中的驱动,是用户自定义的。 | | Description | 驱动描述。 | | SERVER | 数据库 IP 地址。 | | PORT | 数据库实际端口。 | | USER | 数据库用户账号。 | | Password | 数据库密码。 | | Database | 数据库名称。 | | OPTION | 配置选项,当前版本仅支持 `OPTION =4`,即开启日志。 | | charset | 数据库字符集,默认为 UTF8。 |配置
odbcinst.ini到/etc/odbcinst.ini。```bash $sudo vim /etc/odbcinst.ini [Oceanbase] Description = ODBC for Oceanbase Driver = /u01/ob-connector-odbc/lib64/mariadb/libobodbc.so ```设置环境变量。
```bash $export ODBCSYSINI=/etc $export ODBCINI=/etc/odbc.ini $export LD_LIBRARY_PATH=/u01/unix-odbc/lib:/u01/obclient/lib:/u01/ob-connector-odbc:$LD_LIBRARY_PATH ```环境变量配置完成后可以使用
odbcinst -j命令查看配置是否正确,示例如下:```bash $/u01/unix-odbc/bin/odbcinst -j unixODBC 2.3.0 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /etc/odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8 ```检查环境依赖是否正确。
```bash $cd /u01/ob-connector-odbc/lib64/mariadb [root@eefdc4281eb7 mariadb]# ldd /u01/ob-connector-odbc/lib64/mariadb/libobodbc.so linux-vdso.so.1 => (0x00007fffd4bf0000) libobclnt.so.20 => /u01/mysql/lib/libobclnt.so.20 (0x00007f62a8df2000) libodbcinst.so.2 => /u01/unix-odbc/lib/libodbcinst.so.2 (0x00007f62a8bdd000) libm.so.6 => /lib64/libm.so.6 (0x00007f62a88db000) libc.so.6 => /lib64/libc.so.6 (0x00007f62a850d000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f62a8309000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f62a80ed000) libltdl.so.7 => /lib64/libltdl.so.7 (0x00007f62a7ee3000) /lib64/ld-linux-x86-64.so.2 (0x00007f62a92c4000) # 确保 libobclnt.so.20 的依赖与所安装的 libobclient-xxx.rpm 包对应 ```
测试连接
ISQL 连接测试
DriverManager 相关的工具在 /u01/unix-odbc 目录下,运行连接命令并显示成功。
$sudo vim /u01/unix-odbc/bin/isql -v OBDSN
+-------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+-------------------------------+
SQL>
编译 C++ 测试程序
g++ -I /u01/unix-odbc/include/ test.cpp -lobodbc -o test