Python ksycopg2 使用 KING BASE
官方文档:https://help.kingbase.com.cn/v8/development/client-interfaces/python/python-1.html
1、简介
1.1、python 数据库驱动说明
ksycopg2 是 Python 编程语言的 KingbaseES 数据库适配器。它的主要特点是 Python DB API 2.0 规范的完整实现和线程安全。
ksycopg2 主要在C程序中作为 libpq 包装器实现,因此既高效又安全。它拥有客户端和服务端游标,支持异步通信和通知、复制。
Python DBAPI 2.0的官方文档可以访问 https://www.python.org/dev/peps/pep-0249 。
1.2、KingbaseES兼容版本信息
目前提供的 ksycopg2 支持情况如下表所示:
Python版本 | 系统架构 | 说明 |
---|---|---|
Python2.7 | Linux amd64 | 仅提供64位支持 |
Python2.7 | Linux aarch64 | 仅提供64位支持 |
Python2.7 | Linux mips64le | 仅提供64位支持 |
Python2.7 | Windows | 提供32和64位支持, 32位需要VC9运行时, 64位需要VC12运行时 |
Python3.5 | Linux amd64 | 仅提供64位支持 |
Python3.5 | Linux aarch64 | 仅提供64位支持 |
Python3.5 | Linux mips64le | 尚不支持该版本 |
Python3.5 | Windows | 提供32和64位支持, 都需要VC12运行时 |
Windows中如果没有安装对应的 Python 版本时,在导入 ksycopg2 模块时会有以下报错:
ImportError: DLL load failed: 找不到指定的模块。
2、ksycopg2 连接 KingbaseES 数据库
首先,需要安装 Python,且配置 kingbase 数据库。
下载 ksycopg2 驱动,ksycopg2 驱动有几个下载地址。
- 官方地址下载中心:https://www.kingbase.com.cn/xzzx/index.htm
- 官方地址更多接口驱动版本:https://www.kingbase.com.cn/downdriven/index.htm
- KING BASE 的安装目录下的
Interface\Python\Ksycopg2
文件里也有对应的压缩包
将对应 Python 版本的 ksycopg2 驱动解压后,把 ksycopg2 文件夹放在Python的模块路径中,如
D:\Python27\Lib\site-packages
或/usr/lib/python35/dist-packages
。如果不确定Python模块路径,可以在命令行中执行以下语句:
1
2import sys
sys.path即可查看Python搜索模块的路径,如图所示,从中选一个路径放入其中即可。
将 libpq 库文件路径添加到
$LD_LIBRARY_PATH
环境变量中(环境变量中已存在该路径可省略该步骤)- Linux:命令行中执行
1
export LD_LIBRARY_PATH=/home/kingbase/lib:$LD_LIBRARY_PATH
- Linux:命令行中执行
检查安装情况
打开 Python 命令行,执行以下语句没有报错即可认为安装成功
1 |
|
报错
ImportError: DLL load failed: 找不到指定的模块。
原因:ksycopg2 目前仅支持 python2.7/3.5,若版本不同,则会发生报错。
解决办法
- 安装对应的 python 版本
- python3.6版本可用的下载链接(未测试):python3.6 的 https://kingbase.oss-cn-beijing.aliyuncs.com/KES/07-jiekouqudong/Python.rar