设置ODBC驱动
安装ODBC驱动前需要先装好Vastbase G100 Libpq和unixODBC,并配置环境变量。
安装Vastbase G100 Libpq
安装Libpq有两种方式。
通过提供的Libpq安装包安装
解压Vastbase G100提供的Libpq,新建/usr/local/libpq目录,将解压后的 include和lib目录拷贝到/usr/local/libpq目录下,配置环境变量如下:
export LD_LIBRARY_PATH=/usr/local/libpq/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=/usr/local/libpq/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/local/libpq/include:$CPLUS_INCLUDE_PATH
通过Vastbase G100安装包安装
安装过程可参考Vastbase G100安装指南中的数据库安装步骤。新建/usr/local/libpq目录,将数据库安装目录中的 include和lib目录拷贝到/usr/local/libpq目录下,配置上述环境变量。
安装unixODBC
要使用驱动, 必须先安装unixODBC。
离线安装∶
tar zxvf unixODBC-2.3.9.tar.gz
cd unixODBC-2.3.9
./configure --enable-gui=no #如果要在鲲鹏服务器上编译,请追加一个configure参数: --build=aarch64-unknown-linux-gnu
make
#安装可能需要root权限
make install
安装ODBC
ODBC安装可以选择安装opengGauss提供的安装包或者由Vastbase G100提供的安装包。
安装包安装openGauss-2.0.0-ODBC
下载对应平台的openGauss-2.0.0-ODBC(目前仅支持centos_x86_64、openeuler_aarch64、openeuler_x84_64)
地址:https://opengauss.org/zh/download.html
如图:
替换客户端 openGauss 驱动程序
解压 openGauss-2.0.0-ODBC.tar.gz, 将解压后 lib 目录下的库拷贝到”/usr/local/lib” 目录下。
安装包安装Vastbase G100 ODBC
解压由Vastbase G100提供的ODBC驱动安装包。
将解压后的lib目录以及odbc/lib目录下的库拷贝到”/usr/local/lib” 目录下。
手动编译安装
下载ODBC驱动源码
编译
首先修改configure文件如下(红色框为增加内容):
执行如下命令进行编译:
sh ./build.sh -bd $GAUSSHOME
将output下的GaussDB-Kernel-XXX-0dbc.tar.gz解压,然后将output/odbc/lib目录下的库拷贝到”/usr/local/lib”目录下。
配置数据源
1、配置 ODBC 驱动文件。 在”/usr/local/etc/odbcinst.ini” 文件中添加以下内容。
vim /usr/local/etc/odbcinst.ini
[VastbaseMPP] | # 驱动器名称, 对应数据源 DSN 中的驱动名 |
Driver64=/usr/local/lib/psqlodbcw.so | # 驱动动态库的路径 |
setup=/usr/local/lib/psqlodbcw.so | # 驱动安装路径, 与 Driver64 中动态库的路径一致 |
2、配置数据源文件。 该步骤并不是必须的, 取决于获取连接的方式,详见下章”连接数据库” 小节。 在”/usr/local/etc/odbc.ini “ 文件中添加以下内容。
[Test] Description=Test Driver=VastbaseMPP |
#数据源的名称。 #数据源说明 #驱动名, 对应 odbcinst.ini 中的 DriverName |
Servername=172.16.12.57 | #服务器的 IP 地址 |
Database=postgres Username=yuntu |
#要连接的数据库的名称 #数据库用户名称 |
Password= Ttest@123 | # 数据库用户密码 |
Port=5432 | # 服务器的端口号 |
Sslmode=allow | #开启 SSL 模式: disable 否, allow 可能 , prefer 可能, requrie 是,verify-ca 是, verify-full 是 |
配置环境变量
vim ~/.bashrc
# 在配置文件中追加以下内容。
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
export ODBCSYSINI=/usr/local/etc
export ODBCINI=/usr/local/etc/odbc.ini
# 执行如下命令使配置生效
source ~/.bashrc
测试数据源配置
上述配置中该数据源的 DSN 为 Test,可以通过 isql 来验证配置是否正确。命令如下。
isql -v Test
如果数据源配置中未指定用户名和密码,则用 isql测试连接时需要指定用户密码:
isql -v Test yuntu Ttest@123
如果显示以下信息,表示配置正确,连接成功。
如果显示查找不到psqlodbcw.so动态库,如图:
在确认动态库确实存在之后,该错误可能是由于当前机器上缺少odbc驱动库的依赖库造成的,可以使用ldd命令观察缺失的动态库后安装对应的依赖库。