首先要明确的是odbc是有操作系统平台限制的,我下载的是openeuler版本的odbc,所以我会在openeuler上进行连接。

我们现在下载的这个odbc是odbc驱动的一部分,根据本人的方法,首先要安装老版本的odbc,然后将其中的几个关键文件进行配置替换,就能用odbc连接到数据库。

准备环境,下载odbc驱动

1.安装老版本驱动

官网上的的链接已经被废弃,这里贴上新链接

unixODBC

下载后解压

#修改configure文件(如果不存在,那么请修改configure.ac),找到LIB_VERSION

#将它的值修改为"1:0:0",这样将编译出*.so.1的动态库,与psqlodbcw.so的依赖关系相同。

然后运行命令

./configure --enable-gui=no #如果要在ARM服务器上编译,请追加一个configure参数: --build=aarch64-unknown-linux-gnu

make

#安装可能需要root权限

make install

编译安装完成后将从转测包目录中下载的odbc拉到服务器中并解压

解压后会有两个文件,一个是lib一个是odbc

然后将openGauss-x.x.x-ODBC.tar.gz解压后lib目录中的库拷贝到“/usr/local/lib”目录下。
可以先看一下/usr/local/lib中有哪些文件

可以看到这里主要是一些动态链接库

然后我们需要配置一下连接信息

1)配置ODBC驱动文件。

在“/usr/local/etc/odbcinst.ini”文件中追加以下内容。

[GaussMPP]

Driver64=/xxx/odbc/lib/psqlodbcw.so

setup=/xxx/odbc/lib/psqlodbcw.so

2)配置连接源文件

在“/usr/local/etc/odbc.ini”文件中追加以下内容。连接信息需要用户在自己配置。

[MPPODBC]
Driver=GaussMPP
Servername=10.XXX.XXX.XX(数据库Server IP)
Database=postgres (数据库名)
Username=omm (数据库用户名)
Password= (数据库用户密码)
Port=8000 (数据库侦听端口)
Sslmode=allow

 

在~/.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使配置生效

最后用isql -v MPPODBC这个命令见证奇迹的时刻

本文借鉴于多篇文章:

Odbc | openGauss文档 | openGauss社区

https://zhuanlan.zhihu.com/p/621695383

以上作者,在此鸣谢

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐