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 数据库

  1. 首先,需要安装 Python,且配置 kingbase 数据库。

  2. 下载 ksycopg2 驱动,ksycopg2 驱动有几个下载地址。

    将对应 Python 版本的 ksycopg2 驱动解压后,把 ksycopg2 文件夹放在Python的模块路径中,如 D:\Python27\Lib\site-packages/usr/lib/python35/dist-packages

    如果不确定Python模块路径,可以在命令行中执行以下语句:

    1
    2
    import sys
    sys.path

    即可查看Python搜索模块的路径,如图所示,从中选一个路径放入其中即可。

  3. 将 libpq 库文件路径添加到 $LD_LIBRARY_PATH 环境变量中(环境变量中已存在该路径可省略该步骤)

    • Linux:命令行中执行
      1
      export LD_LIBRARY_PATH=/home/kingbase/lib:$LD_LIBRARY_PATH

检查安装情况

打开 Python 命令行,执行以下语句没有报错即可认为安装成功

1
2
3
4
5
import ksycopg2

conn = ksycopg2.connect(host="xxx.xxx.xxx.xxx", port="xxxx", user="xxx", password="xxx", database="xxx")
if conn:
print("connected")

报错

ImportError: DLL load failed: 找不到指定的模块。


Python ksycopg2 使用 KING BASE
https://flepeng.github.io/041-国产-KING-BASE-人大金仓-31-开发指南-Python-ksycopg2-使用-KING-BASE/
作者
Lepeng
发布于
2021年3月6日
许可协议