“G”术时刻:Linux环境下通过ESQL/C方式连接南大通用GBase 8s数据库(上)

在 Linux 环境中,使用 C 语言通过 ESQL/C 方式连接南大通用GBase 8s 数据库是常见的开发需求。ESQL/C 是一种允许在 C 程序中嵌入 SQL 语句的技术。通过 ESQL/C,开发者可以在 C 程序中直接操作数据库,实现数据的增删改查等功能。本文将通过一个完整的示例,详细介绍如何在 Linux 下通过 ESQL/C 连接 GBase 8s 数据库,包括环境搭建、代码编写、编译和运行等步骤。

环境准备

(一)数据库信息

以下是示例中使用的数据库服务器信息:

GBase 8s ESQL/C 介绍

GBase 8s ESQL/C 是一个 SQL 应用程序编程接口(API),允许在 C 程序中嵌入 SQL 语句。ESQL/C 的预处理器esql 将 SQL 语句转换为 C 语言源代码,并启动 C 编译器进行编译。

ESQL/C 由以下组件构成:

GBase 8s ESQL/C 库:提供用于访问数据库服务器的 C 函数。

ESQL/C 头文件:提供数据结构、常量和宏定义。

esql 命令:处理 ESQL/C 源代码以创建 C 源文件,并将其传递给 C 编译器。

finderr 实用程序:在 UNIX 系统上用于获取 GBase 8s 的错误消息。

GLS 语言环境和代码集转换文件:提供特定语言环境的信息。

Linux 下的 CSDK 安装及配置

(一)安装 CSDK

1、创建用户组和用户

• 创建 gbasedbt 用户组和用户:

bash 复制代码
    groupadd -g 1000 gbasedbt
    useradd -g 1000 -d /home/gbasedbt -m -s /bin/bash gbasedbt

2、解压缩 CSDK 软件包

• 创建目录并解压软件包:

bash 复制代码
    mkdir csdk
    cd csdk/
    tar -xf ../clientsdk_3.5.1_3X1_x86_64.tar

3、执行静默安装

• 使用以下命令进行静默安装:

ini 复制代码
  ./installclientsdk -i silent -DUSER_INSTALL_DIR=/opt/gbase -DLICENSE_ACCEPTED=TRUE

(二)配置 CSDK

1、设置环境变量

• 以 gbasedbt 用户身份登录,并设置以下环境变量:

ini 复制代码
export GBASEDBTDIR=/opt/gbase
export GBASEDBTSERVER=yangzai
export PATH=${GBASEDBTDIR}/bin:${PATH}
export LD_LIBRARY_PATH=$GBASEDBTDIR/lib:$GBASEDBTDIR/lib/cli:$GBASEDBTDIR/lib/esql:$LD_LIBRARY_PATH
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
export GL_USEGLU=1

2、 修改 GBASEDBTSQLHOSTS 配置文件

• 在配置文件中添加以下内容:

yaml 复制代码
yangzai onsoctcp 192.168.137.66 6666
相关推荐
清风6666663 小时前
基于单片机的水塔液位检测与智能调节报警系统设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
gplitems1233 小时前
Technox – IT Solutions & Services WordPress Theme: A Practical
linux·服务器·数据库
不剪发的Tony老师4 小时前
MySQL 9.5创新版发布,有哪些新功能?
数据库·mysql
布朗克1684 小时前
MySQL 及 SQL 注入详细说明
数据库·sql·mysql·1024程序员节
武子康5 小时前
Java-154 深入浅出 MongoDB 用Java访问 MongoDB 数据库 从环境搭建到CRUD完整示例
java·数据库·分布式·sql·mongodb·性能优化·nosql
Austindatabases5 小时前
DBA 从“修电脑的” 到 上演一套 “数据治理” 大戏 --- 维护DBA生存空间,体现个体价值
数据库·dba
LB21125 小时前
Redis黑马点评 day01
数据库·redis·缓存
白小筠6 小时前
创建Django项目
数据库·django·sqlite
扑克中的黑桃A7 小时前
金仓多模数据库平替MongoDB的电子证照国产化实践——从2TB数据迁移到1600+并发支撑
数据库
计算机毕业设计小帅7 小时前
【2026计算机毕业设计】基于Django的社区婴幼儿预防接种系统
数据库·django·课程设计