python 3.6连接KingbaseES V8

概述

国产化是当前IT领域的热点话题之一,人大金仓数据库KingbaseES V8是当前比较流行的国产化数据库,KingbaseES已提供了python驱动,本文介绍一下python连接KingbaseES V8的方法

测试环境

CPU:X86_64
OS:CentOS 7
Python 3.6.10
kingbase (Kingbase) V008R003C002B0160

一、下载KingbaseES V8的python驱动

下载地址:https://kingbase.oss-cn-beijing.aliyuncs.com/KES/07-jiekouqudong/Python.rar
在这里插入图片描述
下载后得到一个文件夹在这里插入图片描述
解压后有5个子文件,其中ksycopg2_linux_amd64_python3.6.tar.gz为x86_64平台linux环境驱动包
在这里插入图片描述
再次解压,文件夹ksycopg2内容即为kingbase的python 3.6驱动
在这里插入图片描述

二、把驱动放入python库搜索路径

python搜索路径
当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

1、当前目录
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。
模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

此处我们设置环境变量PYTHONPATH
vi ~/.bash_profile
在这里插入图片描述
把驱动ksycopg2文件夹拷入PYTHONPATH子目录
在这里插入图片描述
Kingbase数据库的python驱动依赖内部的KCI库文件,所以还需要把libkci相关库文件放入LD_LIBRARY_PATH中,libkci相关库文件在KingbaseES安装目录Server/lib子目录下,把该目录下libkci相关库文件复制到指定路径下(/opt/kdblib),并把/opt/kdblib加入LD_LIBRARY_PATH;
注意:不建议把Server/lib路径直接加到root的LD_LIBRARY_PATH,有部分库文件可能会和操作系统库冲突
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、测试使用python连接Kingbase

连接数据库并建表create.py:

#!/usr/bin/python
import ksycopg2
conn = ksycopg2.connect(database="TEST", user="SYSTEM", password="111111", host="127.0.0.1", port="54321")
cur = conn.cursor()
cur.execute("create table test(id integer,name varchar(23))")
conn.commit()
conn.close()

运行测试程序,登录数据库查看,test表已创建成功:
在这里插入图片描述
insert操作insert.py:

#!/usr/bin/python
import ksycopg2
conn = ksycopg2.connect(database="TEST", user="SYSTEM", password="111111", host="127.0.0.1", port="54321")
cur = conn.cursor()
cur.execute("insert into test values(%s,%s)",(1,"xiexie1"))
cur.execute("insert into test values(%s,%s)",(2,"xiexie2"))
cur.execute("insert into test values(%s,%s)",(3,"xiexie3"))
cur.execute("insert into test values(%s,%s)",(4,"xiexie4"))
conn.commit()
conn.close()

运行结果确认:
在这里插入图片描述

select操作select.py:

#!/usr/bin/python
import ksycopg2
conn = ksycopg2.connect(database="TEST", user="SYSTEM", password="111111", host="127.0.0.1", port="54321")
cur = conn.cursor()
cur.execute("SELECT * from test")
row = cur.fetchone()
while row:
        print("ID = ", row[0])
        print("NAME = ", row[1], "\n")
        row = cur.fetchone()
conn.close()

运行结果:

在这里插入图片描述

【 更 多 人 大 金 仓 数 据 库 信 息 , 详 见 https://help.kingbase.com.cn/ 】

  • 10
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
KingbaseES V8是一种基于开源PostgreSQL数据库的企业级数据库管理系统。它被开发为一个高度可扩展和安全的解决方案,适用于各种规模的企业数据处理需求。 KingbaseES V8数据库技术白皮书详细介绍了该数据库系统的特点和优势。下面是一些关键内容: 1. 安全性:KingbaseES V8采用了严格的安全机制来保护数据的机密性和完整性。它支持数据加密、访问控制和安全审计等功能,确保敏感数据不会被未经授权的人员访问。 2. 高可靠性:KingbaseES V8通过提供数据库事务和持久性来确保数据的可靠性。它支持ACID(原子性、一致性、隔离性和持久性)属性,使得数据库在发生故障或中断时能够进行恢复并保持数据的一致性。 3. 高扩展性:KingbaseES V8支持水平和垂直扩展,可以根据业务需求进行灵活的扩展。它能够处理大规模的数据存储和查询,并提供了分布式数据库和集群部署选项。 4. 大数据处理:KingbaseES V8具备处理大数据的能力,通过支持多种数据压缩和索引技术来提高数据存储和查询的效率。同时,它还提供了强大的数据备份和恢复机制,确保在数据发生意外故障时能够及时进行数据恢复。 5. 兼容性:KingbaseES V8与主流数据库标准兼容,可以实现与Oracle、SQL Server等数据库的互通和迁移。这样一来,企业在将原有数据库迁移到KingbaseES V8上时,可以事半功倍地减少迁移成本和风险。 总的来说,KingbaseES V8数据库技术白皮书详细介绍了其作为一种可靠、高效和安全的企业级数据库管理系统的优势和功能。这些特点使得KingbaseES V8成为适用于各种企业规模和数据处理需求的理想选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值