admin管理员组文章数量:1606472
一、准备jar包
- commons-dbcp2-2.9.0.jar 下载地址
- commons-pool2-2.11.1.jar 下载地址
- commons-logging-1.2.jar 下载地址
- 相应数据库驱动的jar包(本文示例连接gbase 8s数据库,jar包是gbasedbtjdbc_3.4.0_2_ca1174.jar)
二、使用的python第三方包
pip install jpype1
三、示例代码
import jpype.imports
JVMPATH = jpype.getDefaultJVMPath()
# 将用到的jar添加的CLASSPATH
CLASSPATH = 'lib/commons-dbcp2-2.9.0.jar;lib/commons-pool2-2.11.1.jar;'\
'lib/commons-logging-1.2.jar;lib/gbasedbtjdbc_3.4.0_2_ca1174.jar'
jpype.startJVM(JVMPATH, "-ea", "-Djava.class.path=%s" % CLASSPATH, "-Xms1024M", "-Xmx2048M")
from jpype.types import *
# 加载java类BasicDataSource
BasicDataSource = JClass('org.apachemons.dbcp2.BasicDataSource')
# new一个BasicDataSource对象
ds = BasicDataSource()
# 注册驱动
ds.setDriverClassName("com.gbasedbt.jdbc.Driver")
# 设置url
ds.setUrl(
"jdbc:gbasedbt-sqli://192.168.1.2:12345/demodb:GBASEDBTSERVER=gbaseserver1;NEWCODESET=UTF8,cp1252,819;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;DBDATE=Y4MD-;")
# 用户名
ds.setUsername("gbasedbt")
# 密码
ds.setPassword("111111")
ds.setMaxTotal(50) # 最大活动数
ds.setMaxIdle(20) # 最大空闲数
ds.setMinIdle(5) # 最小空闲数
ds.setInitialSize(10) # 初始化个数
while True:
session = ds.getConnection()
stmt = session.createStatement()
sql = input('> ')
try:
rs = stmt.executeQuery(sql)
rsMetaData = rs.getMetaData()
column_count = rsMetaData.getColumnCount()
while rs.next():
for index in range(1, column_count + 1):
print(rs.getString(index), end="\t")
print()
rs.close()
except Exception as e:
print(e)
finally:
session.close()
四、运行
D:\PythonProjects\DBCP连接池\venv\Scripts\python.exe D:/PythonProjects/DBCP连接池/main.py
> select * from wt1
1 wangwei
2 yz
>
版权声明:本文标题:Python 使用数据库连接池 DBCP 连接数据库 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728502021a1161284.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论