在 Ubuntu 环境下使用 Python 操作国产金仓数据库(KingbaseES)时,核心在于正确配置驱动与连接参数。本文将直接切入实战,演示从环境准备到封装通用管理类的全过程。
1. 环境准备与驱动安装
KingbaseES 提供了专用的 Python 驱动 ksycopg2,基于 DB API 2.0 规范实现,支持线程安全及异步通信。注意驱动版本需与当前 Python 大版本严格匹配(如 Python 3.8 对应 ksycopg2 的 3.8 版本)。
1.1 获取并安装驱动
前往金仓官网下载对应系统架构的驱动包。解压后通常包含多个 Python 版本的子目录。找到与你当前环境匹配的文件夹(例如 python3.8),将其中的 ksycopg2 目录复制到 Python 的模块搜索路径中。
若不确定路径位置,可运行以下命令查看:
import sys
print(sys.path)
假设输出中包含 /usr/lib/python3/dist-packages,则将驱动文件上传至该目录下。
1.2 配置环境变量
除了 Python 模块,还需将 KingbaseES 的 C 库路径添加到 LD_LIBRARY_PATH 环境变量中。这步至关重要,否则导入驱动时会报错。
export LD_LIBRARY_PATH=/kingbase/data/KESRealPro/V009R002C012/Server/lib:$LD_LIBRARY_PATH
如果不确定库文件位置,可通过 ps -ef | grep kingbase 查找进程路径来推断。
1.3 验证安装
在终端尝试导入模块,无报错即表示成功:
import ksycopg2
print("ksycopg2 驱动安装成功")
2. 建立数据库连接
连接时需要提供数据库名、用户名、密码、主机地址及端口。建议将连接逻辑封装为函数或类,便于复用。
import ksycopg2
def create_connection():
try:
conn = ksycopg2.connect(
database="TEST",
user="SYSTEM",
password="qwe123!@#",
host="127.0.0.1",
port="54321"
)
print("数据库连接成功")
return conn
except Exception as e:
print(f"连接数据库失败:")
connection = create_connection()


