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