GBase 8a
工具
文章

Python访问gbase 8a

发表于2026-08-17 17:32:14229次浏览1个评论

Python访问gbase8a有两种方式,一种是使用pymysql驱动,另一种是使用gbase官方发布的驱动接口——GBase Connector,下面基于这两种方式,都演示python访问gbase 8a的方法: 

一、使用pymyql驱动

首先得先有pymsql驱动,下面采用二进制包的配置来演示: image.png 将pymysql放置在python路径下,通过python -c "import sys;print(sys.path)"查看python文件的路径 image.png 将pymysql放在/usr/lib/python2.7/site-packages image.png 这里的python是2.7版本,脚本如下:

Python_gbase.py:

#注意如果是多vc的话,database这里要加上vc名,我这里就直接默认都加上

# -- coding: utf-8 -- import pymysql #pymysql.connections.DEBUG = True conn = pymysql.connect( host='192.168.126.150', port=5258, user='gbase', password='GBase2O11O531', #user='HSBC_IAM_OPS', #password='VS048oyYohxFrj', database='vcname000001.test', charset='utf8mb4', #charset='utf8', connect_timeout=10, read_timeout=3600, write_timeout=68, autocommit=True, use_unicode=True )try: print('connected successfully')finally: conn.close() print('Connection closed')

执行结果: image.png 在数据库中创建普通用户,脚本中修改访问的用户为普通用户: image.png 执行结果: image.png 查看python版本和pymysql版本 image.png 采用python3版本来验证结果,查看python3版本和pymysql版本 image.png 用gbase用户访问gbase数据库 image.png 切换普通用户: image.png 以上结果都可以正常访问数据库。

二、使用gbase官方驱动

目前已有的官方驱动: image.png

image.png 使用官方驱动前,需要先安装驱动,将gbase-connector-python-9.5.3_build3.zip包解压到python3.8的依赖包中 image.png

安装驱动:

python3.8 setup.py build image.png python3.8 setup.py install image.png

安装完成后,会自动生成驱动包 image.png

后面就可以在脚本中使用该驱动,该驱动只能在python3.8以上版本使用,且只能访问v953以上版本的gbase8a集群,脚本如下:

一样要注意多vc模式的database

# -- coding: utf-8 -- from gbase.connector import connect,errors #数据库连接配置config = { 'user': 'gbase', 'passwd': 'GBase2O11O531', 'host': '192.168.126.150', # GBase 8a集群的coordinator节点IP 'port': 5258, #默认端口 'database':'vcname000001.test', #多VC模式下为:vc_name.test 'charset': 'utf8'}try: #创建数据库连接 conn = connect(**config) print("数据库连接成功!") except Error as e: print(f"数据库操作失败:{e}") conn.rollback() #回滚事务 finally: #关闭游标和连接 conn.close() print("数据库连接已关闭")
执行脚本:
image.png

切换普通用户访问 image.png 正常可以访问数据库。

后面正常演示生删改查操作:

DDL: image.png

image.png Dml: image.png image.png DQL: image.png 上面所有测试都是基于GBase8a-9.5.3.41版本

评论

登录后才可以发表评论
GBase用户51829发表于 1个月前
这两种方法我都测试用过,谢谢分享