暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
Python-JDBC-Oracle 脚本测试.pdf
157
5页
3次
2024-12-23
10墨值下载
JAVA代码尝Python脚本测
试一把
Oracle-Java JDBC 连接超时之后的认知纠正》
环境介绍
查看Oracle 版本
SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 19 21:32:31 20241
查看java 版本
[oracle@db ~]$ java -version1
openjdk version "1.8.0_332"2
OpenJDK Runtime Environment (build 1.8.0_332-b09)3
OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)4
jdbc_driver_name 参数对应数据库设置
oracle("oracle.jdbc.driver.OracleDriver"), 1
sqlserver("com.microsoft.sqlserver.jdbc.SQLServerDriver"),2
sqlserverjtds("net.sourceforge.jtds.jdbc.Driver"),3
mysql("com.mysql.jdbc.Driver"),4
db2("com.ibm.db2.jcc.DB2Driver"),5
dm("dm.jdbc.driver.DmDriver"),6
cache("com.intersys.jdbc.CacheDriver"),7
tibero("com.tmax.tibero.jdbc.TbDriver"),8
postgresql("org.postgresql.Driver"),9
hive("org.apache.hive.jdbc.HiveDriver"),10
sybase("net.sourceforge.jtds.jdbc.Driver"),11
highgodb("org.postgresql.Driver"),12
tidb("com.mysql.jdbc.Driver"),13
oceanbase("com.mysql.jdbc.Driver"),14
oscar("com.oscar.Driver"),15
oscar_mpp("com.oscar.cluster.Driver"),16
sap_hana("com.sap.db.jdbc.Driver"),17
odps("com.aliyun.odps.jdbc.OdpsDriver"),18
informix("com.informix.jdbc.IfxDriver"),19
kingbase("com.kingbase8.Driver"),20
vertica("com.vertica.jdbc.Driver"),21
JDBC 下载: ojdbc8_jar.zip - 墨天轮文档 (modb.pro)
jar包放到目录
[oracle@db py_cutdat]$ cd py_jar/1
[oracle@db py_jar]$ pwd 2
/u01/script/py_cutdat/py_jar 3
[oracle@db py_jar]$ ls 4
ojdbc8.jar 5
Python测试脚本:
java 代码逻辑编写python 脚本:py_jdbc.py
[oracle@db ~]$ vim py_jdbc.py 1
import jaydebeapi,time2
from datetime import datetime3
4
#Oracle5
# 配置连接参数6
jdbc_Oracle_driver = '/u01/script/py_cutdat/py_jar/ojdbc8.jar' # JDBC 驱动的路径7
jdbc_Oracle_url = 'jdbc:oracle:thin:@192.168.30.23:1521/phytest1'8
username = "two"9
password = "two"10
# 设置查询超时时间(秒)11
query_timeout = 6012
# JDBC连接属性13
jdbc_connection_properties = {14
"user": username,15
"password": password,16
"setQueryTimeout": query_timeout17
}18
19
# JDBC 驱动类名20
jdbc_Oracle_driver_name='oracle.jdbc.driver.OracleDriver'21
22
# 使用 jaydebeapi 连接 Oracle 数据库23
Oracle_conn = jaydebeapi.connect(jdbc_Oracle_driver_name, jdbc_Oracle_url, [username,
password], jdbc_Oracle_driver,jdbc_connection_properties)
24
#禁用自动提交25
Oracle_conn.jconn.setAutoCommit(False)26
27
# 创建一个 cursor 对象28
Oracle_cursor = Oracle_conn.cursor()29
30
# 执行 SQL 31
try: 32
Oracle_cursor.execute("select userenv('sid') from dual"); 33
print(f"Python JDBK SID:{Oracle_cursor.fetchone()[0]},time:
{datetime.now().strftime('%H:%M:%S')}")
34
Oracle_cursor.execute("insert into t1 values (1,userenv('sid'),'xx')"); 35
print('Insert t1 succeed!') 36
Oracle_cursor.execute("update t2 set name='x' where id=1"); 37
of 5
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。