引言
KingbaseES 作为国产数据库,在金融、政府等领域广泛应用。本文介绍如何通过 Python 的 ksycopg2 驱动连接并操作 Kingbase 数据库。
一、ksycopg2 驱动
1.1 驱动架构
ksycopg2 是 Python 编程语言的 KingbaseES 数据库适配器。底层采用 C 扩展实现,通过 libpq 库与数据库通信。该驱动完整实现了 DB API 2.0 规范。
1.2 兼容性
支持 Python 2.7 及 Python 3.5 至 3.10 版本。具体兼容性需参考官方文档。
1.3 环境配置
- 安装与驱动对应版本的数据库。
- 确保 Ksycopg2 支持开发环境:Linux (x86_64, arm 等),Windows (64 位)。
- 编译器:Linux 依赖 glibc,Windows 依赖 msvc120。
- Python 环境:见兼容性表。
二、安装部署驱动
检测系统架构及 Python 版本信息,选择适配的 Ksycopg2 数据库驱动。
查看 Python 版本:
$ python -V
Python 3.5.6
解压适用于对应架构和 Python 版本的 Ksycopg2 驱动包后,Linux 环境下 Python 3.5 版本的驱动目录结构如下: _ksycopg 开头的库为 Python 驱动,后缀为 .py 的文件包含游标工厂等功能。
将 ksycopg2 文件夹拷贝到对应 Python 安装目录下的 site-packages 路径下。
安装完成后,在 Python 命令行中执行 import ksycopg2 检查是否报错。若出现 ImportError: libkci.so.5: cannot open shared object file,需配置环境变量。
Linux 配置:
export LD_LIBRARY_PATH=/home/python/py-3.5/lib/python3.5/site-packages/ksycopg2:$LD_LIBRARY_PATH
Windows 环境: 通常自动识别,但需安装 MSVC120(VS2013)运行时库。
三、程序源码开发
3.1 创建文件夹
创建测试程序文件夹 test_ksycopg2,新建源码文件 test_ksycopg2.py。
3.2 开发源程序
# -*- coding: utf-8 -*-
import ksycopg2
database = "TEST"
user = "SYSTEM"
password = "123456"
host = "127.0.0.1"
port = "54321"
try:
conn = ksycopg2.connect("dbname={} user={} password={} host={} port={}".format(database, user, password, host, port))
cur = conn.cursor()
cur.execute('drop table if exists test_ksy')
cur.execute('create table test_ksy(id integer, name TEXT)')
cur.execute(, (, ))
cur.execute(, (, ))
cur.execute(, (, ))
cur.execute()
rows = cur.fetchall()
((rows), (rows[]))
()
row rows:
(, row)
cur.close()
conn.close()
Exception e:
(e)
exit()


