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

本文涉及的产品
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安装

相关文章
|
23天前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
2月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
15天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
77 25
|
11天前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
40 13
|
5天前
|
数据库
【YashanDB 知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
**数据库主备切换简介** 在数据库正常或异常情况下,实现主备切换至关重要。若配置不当,主节点故障将影响业务使用,尤其在23.2版本中。原因包括资源紧张或主节点异常。解决方法涵盖手动和自动切换: 1. **一主一备部署**: - **手动切换**:支持Switchover(同步正常时)和Failover(主库损坏时)。 - **自动切换**:启用yasom仲裁选主开关。 2. **一主两备部署**: - 默认最大保护模式,自动切换开启。 需检查并配置自动切换以确保高可用性。经验总结:一主一备默认关闭自动切换,需手动开启;一主两备默认开启。
|
18天前
|
Linux
SecureCRT连接Linux时乱码问题
本文详细介绍了在使用SecureCRT连接Linux服务器时出现乱码问题的解决方法,包括设置SecureCRT字符编码、检查和配置Linux服务器字符编码、调整终端设置等。通过这些方法,您可以有效解决SecureCRT连接Linux时的乱码问题,确保正常的终端显示和操作。希望本文能帮助您在实际操作中更好地解决类似问题,提高工作效率。
33 17
|
5天前
|
SQL 数据建模 BI
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
|
10天前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
29 2
|
2月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
71 2
|
3月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
282 7