更新时间:2024-09-13 GMT+08:00
使用JayDebeApi连接数据库
JayDebeApi是一个Python模块,其提供了一种方便、高效的方式,让Python开发者能够利用Java的JDBC驱动程序来连接和操作各种数据库。
本章节指导用户如何使用JayDebeApi连接GaussDB数据库。
环境配置
- 配置GaussDB开发环境。
准备好基本的 GaussDB 开发环境,获取数据库连接参数,例如:
gsql -h ***.***.***.*** -p 20000 -U *** -W ****** -d test
参数说明:
-h:GaussDB服务器IP。
-p:GaussDB连接端口。
-U:连接用户名。
-W:用户密码。
-d:连接的DATABASE名。
- 安装JayDeBeApi驱动。
- 在计算机上安装Java JDK 8版本以及Python3版本,可以通过如下命令确认版本:
java -version python --version pip --version
- 如果服务器能连接到Python源(Python的软件包索引PyPI),可以通过pip命令安装JayDeBeApi:
pip install jaydebeapi
如果不能,可以通过下载离线安装包然后进行本地安装的方式安装JayDeBeApi。
- 在计算机上安装Java JDK 8版本以及Python3版本,可以通过如下命令确认版本:
- 获取GaussDB驱动程序安装包。
根据不同版本的实例,下载不同版本的发布包,如表1所示。
为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下:
使用示例
- 新建脚本文件。
- 新建一个test_jaydebeapi.py文件,写入代码如下:
#!/usr/bin/env python3.x # -*- coding: UTF-8 -*- encoding = "utf8" import jaydebeapi def test_jaydebeapi(): #需要配置的参数 url = 'jdbc:opengauss://***.***.***.***:20000/test' user = '***' password = '******' driver = 'com.huawei.opengauss.jdbc.Driver' jarFile = './opengaussjdbc.jar' conn = jaydebeapi.connect(driver, url, [user, password], jarFile) cur = conn.cursor() #创建表students sql = 'create table students (id int, name varchar(20))' cur.execute(sql) #往students表中插入三组数据 sql = "insert into students values(1,'xiaoming'),(2,'xiaohong'),(3,'xiaolan')" cur.execute(sql) #查询students表中的所有数据 sql = 'select * from students' cur.execute(sql) ans = cur.fetchall() print(ans) #更新students表中的数据 sql = 'update students set name = \'xiaolv\' where id = 1' cur.execute(sql) #再次查询students表中的所有数据 sql = 'select * from students' cur.execute(sql) ans = cur.fetchall() print(ans) #删除表students sql = 'drop table students' cur.execute(sql) cur.close() conn.close() test_jaydebeapi()
- 配置代码中的参数:
#连接url,设置数据库服务器IP、端口、数据库名 url = 'jdbc:opengauss://***.***.***.***:20000/test' #设置用户名 user = '***' #设置密码 password = '******' #JDBC驱动类路径 driver = 'com.huawei.opengauss.jdbc.Driver' #JDBC驱动jar包路径(默认放在与test_jaydebeapi.py文件同目录下) jarFile = './opengaussjdbc.jar'
- 新建一个test_jaydebeapi.py文件,写入代码如下:
- 执行程序。
python ./test_jaydebeapi.py
- 预期结果。
成功连接GaussDB数据库,并返回两次查询结果,如下所示:
图1 返回两次查询结果