Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。

大家好,在这篇文章中我们将探讨Linux系统下ODBC的配置过程,从环境变量的设置到ODBC配置文件的编辑,再到最终的连接测试,每一步都至关重要。在开始之前,我们需要确保Linux环境已经准备就绪。这包括设置数据库环境变量和ODBC配置文件。我们将使用bash shell来执行必要的命令和脚本。

1、配置数据库环境
环境变量的配置是连接数据库的第一步。我们需要设置GBASEDBTDIR、PATH、GBASEDBTSQLHOSTS、ODBCINI和LD_LIBRARY_PATH。这些变量将指导系统如何找到数据库和ODBC驱动程序。包含以下内容 :

GBASEDBTDIR
PATH --PATH中应包含${GBASEDBTDIR}/bin
GBASEDBTSQLHOSTS --(可选,不配置使用默认的${GBASEDBTDIR}/etc/sqlhosts)
ODBCINI ---odbc.ini 配置文件
LD_LIBRARY_PATH ---库文件路径
可以将odbc的环境变量和数据库的环境变量配置在一起,数据库的环境变量一般在/home/gbasedbt/profile.*或者/home/gbasedbt/.bash_profile中

示例:

export GBASEDBTDIR=/opt/GBASE/gbase
export PATH=$PATH:${GBASEDBTDIR}/bin
export GBASEDBTSQLHOSTS=${GBASEDBTDIR}/etc/sqlhosts
export ODBCINI=$GBASEDBTDIR/etc/odbc.ini
export LD_LIBRARY_PATH=$GBASEDBTDIR/lib:$GBASEDBTDIR/lib/cli:$GBASEDBTDIR/lib/esql
2、配置odbcinst.ini文件
dbcinst.ini文件是ODBC驱动程序的配置文件。我们将指导您如何修改这个文件,以确保系统能够识别并使用GBase 8s数据库的ODBC驱动。

修改odbcinst.ini文件中的Driver、Setup,将相应的目录改成${GBASEDBTDIR}具体所有的目录即可:

Driver=/opt/GBASEDBT/lib/cli/iclit09b.so
Setup=/opt/GBASEDBT/lib/cli/iclit09b.so
示例:

[ODBC Drivers]
GBase ODBC DRIVER=Installed
[GBase ODBC DRIVER]
Driver=/opt/GBASE/gbase/lib/cli/iclit09b.so
Setup=/opt/GBASE/gbase/lib/cli/iclit09b.so
APILevel=1
ConnectFunctions=YYY
DriverODBCVer=03.51
FileUsage=0
SQLLevel=1
smProcessPerConnect=Y
3、配置odbc.ini文件
修改以下具体的内容 :

odbc.ini文件定义了数据库的数据源名称(DSN)。我们将详细说明如何配置这个文件,包括驱动程序路径、数据库名称、登录ID、密码等关键信息。

[ODBC Data Sources]
Infdrv1=GBase ODBC DRIVER --这里定义Infdrv1,
Infdrv2=GBase ODBC DRIVER Define ODBC Database Driver's Below - Driver Configuration Section ;
[Infdrv1] --DSN为Infdrv1项
Driver=/opt/GBASE/gbase/lib/cli/iclit09b.so --修改路径为具体位置
Description=GBase ODBC DRIVER
Database=gbasedb --数据库名称
LogonID=gbasedbt --登陆数据库的用户名
pwd=GBase8s --登陆数据库用户的密码
Servername=instance_name --数据库服务名
GBASEDBTSERVER [Infdrv2] --DSN为Infdrv2项,略 ......
[ODBC]
;uncomment the below line for UNICODE connection
;UNICODE=UCS-
;
; Trace file Section
;
Trace=0
TraceFile=/tmp/odbctrace.out
InstallDir=/opt/GBASE/gbase --修改为具体的CSDK安装目录 TRACEDLL=idmrs09a.so

odbc.ini 文件示例:
[ODBC Data Sources]
Infdrv1=GBase ODBC DRIVER
Infdrv2=GBase ODBC DRIVER
;
; Define ODBC Database Driver's Below - Driver Configuration Section
;
[Infdrv1]
Driver=/opt/GBASE/gbase/lib/cli/iclit09b.so
Description=GBase ODBC DRIVER
Database=gbasedb
LogonID=gbasedbt
pwd=GBase8s
Servername=a2_chang
[Infdrv2]
Driver=/extra/gbasedbt/lib/cli/iclis09b.so
Description=GBase ODBC DRIVER
Database=stores_demo
LogonID=odbc
pwd=odbc
Servername=ids_server2
CursorBehavior=0
CLIENT_LOCALE=en_us.8859-1
DB_LOCALE=en_us.8859-1
TRANSLATIONDLL=/extra/gbasedbt/lib/esql/igo4a304.so
;
; UNICODE connection Section
;
[ODBC]
;uncomment the below line for UNICODE connection
;UNICODE=UCS-4
;
; Trace file Section
;
Trace=0
TraceFile=/tmp/odbctrace.out
InstallDir=/opt/GBASE/gbase
TRACEDLL=idmrs09a.so
4、配置SQLHOSTS文件
SQLHOSTS文件用于指定数据库服务器的地址和端口。我们将提供一个示例配置,帮助您快速设置并连接到GBase数据库。

这里使用正在使用的sqlhosts文件,示例如下:

gbaseserver onsoctcp rhel53 9105
至此,ODBC就配置完成了。

5、测试ODBC连接
这里介绍如何使用GBASEDBT提供的catalog.c工具生成catalog可执行文件,并使用它来测试ODBC连接是否成功。除了使用catalog.c工具,我们还可以使用isql命令来验证ODBC连接。我们将提供具体的命令和预期的输出,以帮助您确认配置是否正确。

使用GBASEDBT在${GBASEDBTDIR}/demo/cli的目录下,通过catalog.c生成catalog可执行文件 。

make catalog
./catalog Infdrv1 --Infdrv1即上面配置的DSN
在类似以下的输出,即表示ODBC连接是成功的~
Using specified DSN :
Infdrv1 STEP 1 done...connected to database
Table Name tt Column: a Column: b Column: c Column: d
STEP 2 done...catalog information obtained from the database
也可以使用isql命令进行验证测试(isql 为unixodbc命令,如果没有请安装unixodbc):

isql Infdrv1 -v --Infdrv1即上面配置的DSN
通过本文的指导,您应该能够顺利完成Linux下GBase 8s数据库的ODBC配置。这不仅能够提高您处理数据库任务的效率,还能确保数据的安全性和可靠性。感谢您的阅读。

GBase数据库官方网站:访问GBase

unixODBC安装指南:unixODBC安装

相关文章
|
8天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
12天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
27 2
|
2月前
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
108 8
|
2月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
187 7
|
3月前
|
Linux 数据库 数据安全/隐私保护
GBase 数据库 加密客户端---数据库用户口令非明文存放需求的实现
GBase 数据库 加密客户端---数据库用户口令非明文存放需求的实现
|
3月前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
3月前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
3月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
3月前
|
SQL 数据库
gbase 8a 数据库 shm满导致gclusterd进程异常
gbase 8a 数据库 shm满导致gclusterd进程异常
|
3月前
|
网络安全 数据库
gbase 8a 数据库 安装8ampp 常见ssh报错问题
gbase 8a 数据库 安装8ampp 常见ssh报错问题