人大金仓 使用ODBC连接KingbaseES数据库

2023年 8月 22日 49.5k 0

1.什么是ODBC

开放数据库互联(ODBC)是数据库应用程序编程接口(API)的一种规范,支持带有C函数库的SQL语句。ODBC不需要预处理器来编译应用程序,可支持”安全套接层”(SSL)。KingbaseES支持使用ODBC连接至数据库。

2.UnixODBC的安装与配置

在Linux平台下如果需要使用OBDC连接数据库,则需要先安装unixODBC,然后在安装相应的ODBC驱动。
有些操作系统如果自带了unixODBC,则无需安装(执行odbcinst –version命令检测是否已经安装)。

安装包获取

1.官网下载www.unixodbc.org

unixODBC-2.3.7.tar.gz

编译安装

1.检查是否有gcc

[root@host2 ~]# gcc

-bash: gcc: command not found

安装机器上没有gcc,安装gcc

yum install gcc –y

2.解压文件

tar -xvf unixODBC-2.3.7.tar.gz

3.编译安装

[root@host3 unixODBC]# cd unixODBC-2.3.7
[root@host3 unixODBC-2.3.7]# ./configure --prefix=/usr/local/unixODBC
[root@host3 unixODBC-2.3.7]#make
[root@host3 unixODBC-2.3.7]#make install

配置环境变量

[root@host3 unixODBC-2.3.7]# touch /etc/profile.d/unixOdbc.sh
unixOdbc.sh文件内容如下:
export ODBCMD_HOME=/usr/local/unixODBC
export PATH=$ODBCMD_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ODBCMD_HOME/lib:$LD_LIBRARY_PATH

执行 source /etc/profile使配置的环境变量生效
验证unixODBC安装配置是否成功

 [root@host3 unixODBC-2.3.7]# odbcinst --version
unixODBC 2.3.7
[root@host3 unixODBC-2.3.7]# odbcinst -j
unixODBC 2.3.7
DRIVERS............: /usr/local/unixODBC/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/unixODBC/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/unixODBC/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

能够正确的输出unixODBC版本号,说明安装配置成功了。

3.使用ODBC连接KingbaseES数据库

3.1.修改配置文件

修改odbc.ini

vim /usr/local/unixODBC/etc/odbc.ini
[V8R3]
Description=KingbaseES
Driver=KingbaseES V8R3 ODBC Driver
Servername=2000::5609
Database=TEST
Username=SYSTEM
Password=12345678ab
Port=54321

修改odbcinst.ini

vim /usr/local/unixODBC/etc/odbcinst.ini
[KingbaseES V8R3 ODBC Driver]
Description=ODBC for KingbaseES
Driver=/home/kingbase/370/patch/odbc/lib/kdbodbcw.so
Debug=1
CommLog=1

使文件生效

source ~/.bash_profile

测试连接

 [root@host1 profile.d]# isql v8r3
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select count(*) from t1;
+---------------------+
| count               |
+---------------------+
| 470797              |
+---------------------+
SQLRowCount returns 1
1 rows fetched
SQL>

更多信息,参见help.kingbase.com.cn/v8/index.ht…

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论