大家好,在这篇文章中我们将探讨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安装