暂无图片
暂无图片
10
暂无图片
暂无图片
暂无图片

实战:在Kylin桌面版操作系统中配置openGauss的ODBC数据源

引言

分隔线.png

  openGauss是一款开源的关系型数据库管理系统,它提供了强大的功能和性能,可以满足各种企业级应用的需求。与此同时,ODBC(Open Database Connectivity)是一个标准的数据库访问接口,它允许应用程序通过统一的方式与不同的数据库进行通信。本文将介绍如何在银河麒麟桌面操作系统进行openGauss的ODBC数据源配置。

环境准备

分隔线.png

  • VMware 17.0.2
  • openGauss_5.0.0
  • MobaXterm 22.1
  • 服务器名称:node0,IP地址:192.168.192.139
  • unixODBC-2.3.0
  • 银河麒麟桌面操作系统V10 (SP1)
nwh@nwh-pc:~/桌面$ cat /etc/os-release NAME="Kylin" VERSION="银河麒麟桌面操作系统V10 (SP1)" VERSION_US="Kylin Linux Desktop V10 (SP1)" ID=kylin ID_LIKE=debian PRETTY_NAME="Kylin V10 SP1" VERSION_ID="v10" HOME_URL="http://www.kylinos.cn/" SUPPORT_URL="http://www.kylinos.cn/support/technology.html" BUG_REPORT_URL="http://www.kylinos.cn/" PRIVACY_POLICY_URL="http://www.kylinos.cn" VERSION_CODENAME=kylin UBUNTU_CODENAME=kylin PROJECT_CODENAME=V10SP1 KYLIN_RELEASE_ID="2303"

opengauss0089.png

设置应用保护

分隔线.png

  • 安全中心,设置应用保护

opengauss0083.png

opengauss0084.png

opengauss0085.png

opengauss0086.png

build-essential 包

分隔线.png

  • 安装 build-essential 包
nwh@nwh-pc:~/桌面$ sudo apt-get install -y build-essential 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包是自动安装的并且现在不需要了: archdetect-deb dmeventd libaio1 libdebian-installer4 libdevmapper-event1.02.1 liblvm2cmd2.03 localechooser-data lvm2 user-setup 使用'sudo apt autoremove'来卸载它(它们)。 将会同时安装下列软件: cpp-10 g++ g++-10 g++-9 gcc-10 libasan6 libc-dev-bin libc6-dev libcrypt-dev libgcc-10-dev libstdc++-10-dev libstdc++-9-dev linux-libc-dev 建议安装: gcc-10-locales g++-multilib g++-10-multilib gcc-10-doc g++-9-multilib gcc-9-doc gcc-10-multilib glibc-doc manpages-dev libstdc++-10-doc libstdc++-9-doc 推荐安装: manpages manpages-dev 下列【新】软件包将被安装: build-essential cpp-10 g++ g++-10 g++-9 gcc-10 libasan6 libc-dev-bin libc6-dev libcrypt-dev libgcc-10-dev libstdc++-10-dev libstdc++-9-dev linux-libc-dev 升级了 0 个软件包,新安装了 14 个软件包,要卸载 0 个软件包,有 3 个软件包未被升级。 需要下载 56.7 MB 的归档。 解压缩后会消耗 224 MB 的额外空间。 获取:1 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-2303-hwe-updates/main amd64 libc-dev-bin amd64 2.31-0kylin9.2 [301 kB] ......

opengauss0087.png

创建目录

分隔线.png

nwh@nwh-pc:~$ mkdir -p odbc/etc nwh@nwh-pc:~$ ls 公共的 视频 文档 音乐 bashrc.txt MPPODBC.txt openGauss-5.0.0-ODBC.tar.gz unixODBC-2.3.0.tar.gz unixODBC-2.3.7pre.tar.gz 模板 图片 下载 桌面 GaussMPP.txt odbc unixODBC-2.3.0 unixODBC-2.3.5.tar.gz nwh@nwh-pc:~$ cd odbc/ nwh@nwh-pc:~/odbc$ ls etc

opengauss0090.png

安装unixODBC

分隔线.png

解压 unixODBC-2.3.0.tar.gz

nwh@nwh-pc:~$ tar -zxf unixODBC-2.3.0.tar.gz nwh@nwh-pc:~$ ll 总用量 14676 drwx------ 21 nwh nwh 4096 8月 4 00:03 ./ drwxr-xr-x 3 root root 4096 8月 1 21:21 ../ drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 公共的/ drwxr-xr-x 2 nwh nwh 4096 8月 1 21:27 模板/ drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 视频/ drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 图片/ drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 文档/ drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 下载/ drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 音乐/ drwxr-xr-x 2 nwh nwh 4096 8月 1 21:27 桌面/ -rw------- 1 nwh nwh 64 8月 1 22:02 .bash_history -rw-r--r-- 1 nwh nwh 220 4月 15 2020 .bash_logout -rw-r--r-- 1 nwh nwh 3854 4月 27 15:27 .bashrc -rw-rw-r-- 1 nwh nwh 184 8月 1 21:59 bashrc.txt drwxrwxr-x 14 nwh nwh 4096 8月 3 23:42 .cache/ drwx------ 14 nwh nwh 4096 8月 3 23:43 .config/ drwx------ 3 nwh nwh 4096 8月 1 21:24 .dbus/ -rw-r--r-- 1 nwh nwh 23 8月 1 21:24 .dmrc -rw-rw-r-- 1 nwh nwh 83 8月 1 21:59 GaussMPP.txt drwx------ 3 nwh nwh 4096 8月 1 21:24 .gnupg/ -rw-rw-r-- 1 nwh nwh 413 8月 3 23:42 .imwheelrc drwxrwxr-x 2 nwh nwh 4096 8月 1 21:24 .kylin-os-manager-config/ drwxrwxr-x 3 nwh nwh 4096 8月 1 21:24 .local/ drwxr-xr-x 5 nwh nwh 4096 8月 3 23:44 .log/ -rw-rw-r-- 1 nwh nwh 129 8月 1 21:59 MPPODBC.txt -rw-rw-r-- 1 nwh nwh 9455102 8月 1 22:00 openGauss-5.0.0-ODBC.tar.gz drwx------ 2 nwh nwh 4096 8月 1 21:24 .presage/ -rw-r--r-- 1 nwh nwh 807 4月 15 2020 .profile drwxr-xr-x 2 nwh nwh 4096 8月 1 22:01 .qaxsafe/ drwxrwxr-x 2 nwh nwh 4096 8月 1 21:24 .sogouinput/ -rw-r--r-- 1 nwh nwh 0 8月 1 21:27 .sudo_as_admin_successful -rw-rw-r-- 1 nwh nwh 25 8月 1 21:33 .ukui-screensaver-default.conf drwxr-xr-x 19 nwh nwh 4096 4月 20 2010 unixODBC-2.3.0/ -rw-rw-r-- 1 nwh nwh 1804749 8月 1 22:01 unixODBC-2.3.0.tar.gz -rw-rw-r-- 1 nwh nwh 1633390 8月 1 22:01 unixODBC-2.3.5.tar.gz -rw-rw-r-- 1 nwh nwh 1669682 8月 1 22:01 unixODBC-2.3.7pre.tar.gz -rw------- 1 nwh nwh 103 8月 3 23:41 .Xauthority -rw-r--r-- 1 nwh nwh 13 4月 27 15:38 .xsession -rw------- 1 nwh nwh 125000 8月 4 00:03 .xsession-errors -rw------- 1 nwh nwh 184349 8月 1 22:02 .xsession-errors.old

opengauss0088.png

修改configure文件

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

opengauss0091.png

编译configure

nwh@nwh-pc:~/unixODBC-2.3.0$ ./configure --prefix=/home/nwh/odbc/ checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking for gawk... (cached) mawk checking for bison... no checking for byacc... no checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no ......

opengauss0092.png

安装

nwh@nwh-pc:~/unixODBC-2.3.0$ make && make install

opengauss0093.png

替换客户端openGauss驱动程序

分隔线.png

下载ODBC驱动包

下载openEuler 20.03 LTS环境下的ODBC驱动包

下载openEuler 20.03 LTS环境下的ODBC驱动包

下载openEuler 20.03 LTS环境下的ODBC驱动包

下载ODBC驱动包

opengauss0094.png

解压ODBC驱动包

nwh@nwh-pc:~$ mkdir -p install nwh@nwh-pc:~$ tar -zxf openGauss-5.0.0-ODBC.tar.gz -C install/ nwh@nwh-pc:~$ ls 公共的 图片 音乐 GaussMPP.txt odbc unixODBC-2.3.0.tar.gz 模板 文档 桌面 install openGauss-5.0.0-ODBC.tar.gz unixODBC-2.3.5.tar.gz 视频 下载 bashrc.txt MPPODBC.txt unixODBC-2.3.0 unixODBC-2.3.7pre.tar.gz nwh@nwh-pc:~$ cd install/ nwh@nwh-pc:~/install$ ls lib odbc

opengauss0095.png

解压后会得到两个文件夹:lib与odbc;

在odbc文件夹中还会有一个lib文件夹。/odbc/lib中会有“psqlodbca.la”,“psqlodbca.so”,“psqlodbcw.la”和“psqlodbcw.so”四个文件,将这四个文件拷贝到“/home/nwh/odbc/lib”目录下;

将openGauss-5.0.0-ODBC.tar.gz解压后lib目录中的库拷贝到“/home/nwh/odbc/lib”目录下。

nwh@nwh-pc:~/install$ pwd /home/nwh/install nwh@nwh-pc:~/install$ ls lib odbc nwh@nwh-pc:~/install$ cd odbc/ nwh@nwh-pc:~/install/odbc$ ls lib nwh@nwh-pc:~/install/odbc$ cd lib/ nwh@nwh-pc:~/install/odbc/lib$ cp * /home/nwh/odbc/lib/ nwh@nwh-pc:~/install/odbc/lib$ cd .. nwh@nwh-pc:~/install/odbc$ cd .. nwh@nwh-pc:~/install$ cd lib/ nwh@nwh-pc:~/install/lib$ cp * /home/nwh/odbc/lib/ nwh@nwh-pc:~/install/lib$
nwh@nwh-pc:~/odbc/lib$ pwd /home/nwh/odbc/lib nwh@nwh-pc:~/odbc/lib$ ls libodbccr.la libodbccr.so.1 libodbcinst.la libodbcinst.so.1 libodbc.la libodbc.so.1 psqlodbca.la psqlodbcw.la libodbccr.so libodbccr.so.1.0.0 libodbcinst.so libodbcinst.so.1.0.0 libodbc.so libodbc.so.1.0.0 psqlodbca.so psqlodbcw.so nwh@nwh-pc:~/odbc/lib$ ls libcom_err_gauss.so libgssrpc_gauss.so libkrb5support_gauss.so.0 libodbcinst.so.1 libpgport_tool.so libssl.so libcom_err_gauss.so.3 libgssrpc_gauss.so.4 libkrb5support_gauss.so.0.1 libodbcinst.so.1.0.0 libpgport_tool.so.1 libssl.so.1.1 libcom_err_gauss.so.3.0 libgssrpc_gauss.so.4.2 libodbccr.la libodbcinst.so.2 libpq.a psqlodbca.la libconfig.so libk5crypto_gauss.so libodbccr.so libodbcinst.so.2.0.0 libpq_ce.a psqlodbca.so libconfig.so.4 libk5crypto_gauss.so.3 libodbccr.so.1 libodbc.la libpq_ce.so psqlodbcw.la libcrypto.so libk5crypto_gauss.so.3.1 libodbccr.so.1.0.0 libodbc.so libpq_ce.so.5 psqlodbcw.so libcrypto.so.1.1 libkrb5_gauss.so libodbccr.so.2 libodbc.so.1 libpq_ce.so.5.5 libgssapi_krb5_gauss.so libkrb5_gauss.so.3 libodbccr.so.2.0.0 libodbc.so.1.0.0 libpq.so libgssapi_krb5_gauss.so.2 libkrb5_gauss.so.3.3 libodbcinst.la libodbc.so.2 libpq.so.5 libgssapi_krb5_gauss.so.2.2 libkrb5support_gauss.so libodbcinst.so libodbc.so.2.0.0 libpq.so.5.5 nwh@nwh-pc:~/odbc/lib$

opengauss0096.png

opengauss0097.png

配置数据源

配置ODBC驱动文件

在“/home/nwh/odbc/etc/odbcinst.ini”文件中追加以下内容。

nwh@nwh-pc:~/odbc/etc$ vim odbcinst.ini
nwh@nwh-pc:~/odbc/etc$ vim odbcinst.ini [GaussMPP] Driver64=/home/nwh/odbc/lib/psqlodbcw.so setup=/home/nwh/odbc/lib/psqlodbcw.so

opengauss0099.png

opengauss0098.png

配置数据源文件

在“/home/nwh/odbc/etc/odbc.ini”文件中追加以下内容。

nwh@nwh-pc:~/odbc/etc$ vim odbc.ini
[og] Driver=GaussMPP Servername=192.168.192.139 (数据库Server IP) Database=gaussdb (数据库名) Username=testuser (数据库用户名) Password=openGauss!666 (数据库用户密码) Port=15400 (数据库侦听端口)

opengauss0101.png

opengauss0100.png

配置环境变量

nwh@nwh-pc:~$ vim ~/.bashrc

在配置文件中追加以下内容。

export LD_LIBRARY_PATH=/home/nwh/odbc/lib:$LD_LIBRARY_PATH export PATH=/home/nwh/odbc/bin:$PATH export ODBCSYSINI=/home/nwh/odbc/etc export ODBCINI=/home/nwh/odbc/etc/odbc.ini

opengauss0102.png

执行如下命令使设置生效。

nwh@nwh-pc:~$ source ~/.bashrc

opengauss0103.png

测试数据源配置

nwh@nwh-pc:~/odbc/bin$ isql -v og +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>

在弹出的对话框中点击“允许”按钮。

opengauss0104.png

opengauss0105.png

总结

分隔线.png

  ODBC连接成功,就可以使用ODBC提供的函数来执行SQL查询和操作。ODBC提供了一组标准的接口函数,可以执行各种数据库操作,如执行SQL查询、插入、更新和删除数据等。通过这些函数,可以在openGauss数据库中进行各种数据操作,满足应用程序需求。

  通过使用ODBC接口,可以在openGauss中实现高效的数据访问和跨平台连接。ODBC为开发人员提供了标准化的接口,并提供了一套丰富的函数来执行数据库操作。这种灵活性和可扩展性使得openGauss与ODBC的结合成为了开发企业级应用和在多平台上连接数据库的理想选择。

  开始使用openGauss和ODBC吧,开启高效数据管理的新篇章!

  非常感谢在本文相关形成过程中 openGauss 数据库官网 来杯拿铁(刘恒)老师给予的支持。

附录

分隔线.png

记录在openEuler-22.03中安装openGauss_5.0.0企业版

在VMware 17.0.2虚拟机中安装openEuler-22.03-LTS-SP2

Navicat连接openGauss_5.0.0 企业版数据库

最后修改时间:2023-08-06 13:41:42
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论