在 Ubuntu 环境下使用 Python 操作国产金仓数据库(KingbaseES),核心在于正确安装驱动并配置好环境变量。ksycopg2 是官方提供的适配器,基于 DB API 2.0 规范,支持线程安全与异步通信。下面将一步步演示从环境搭建到封装通用类的全过程。
1. 环境准备与驱动安装
首先确认 Python 版本,ksycopg2 需要与 Python 大版本一致(如 Python 3.8 对应 3.8.x)。
1.1 获取驱动
前往金仓官网下载对应系统架构的驱动包。解压后通常包含多个 Python 版本的目录,选择与你当前环境匹配的文件夹即可。
1.2 安装与配置
将 ksycopg2 文件夹复制到 Python 的模块搜索路径中。若不确定路径,可运行以下代码查看:
import sys
print(sys.path)
假设路径为 /usr/lib/python3/dist-packages,上传驱动文件至此。此外,由于驱动依赖底层 C 库,需将 libkci 的路径加入环境变量:
export LD_LIBRARY_PATH=/kingbase/data/KESRealPro/V009R002C012/Server/lib:$LD_LIBRARY_PATH
如果不确定库文件位置,可通过 ps -ef | grep kingbase 查找进程路径。最后验证安装:
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"连接数据库失败:{e}")
return None
connection = create_connection()


