java.lang.Exception:未找到类oracle.jdbc.river.OracleDriver



作为python的新手,尝试在不使用任何即时客户端的情况下编写连接到oracle数据库的python代码。我正在使用jaydebeapi和jpype,正如这个论坛中其他一些线程所建议的那样。经过许多障碍之后,我现在陷入了这个错误。这是代码。

import jaydebeapi
import jpype
try:
con = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver', ['windb19.ams.com', 'AA3112D1OS', 'advantage', 'C:Toolsojdbc8.jar'])
cur = con.cursor()
cur.execute('select * from r_sc_user_info')
except Exception as e:
print e

我收到的错误如下

C:Python27python.exe C:/Project/Robot_Framework/SampleProject/CustomLibraries/DBLibrary.py
java.lang.Exception: Class oracle.jdbc.driver.OracleDriver not found
Process finished with exit code 0

由于我无法修改Environment variables中的任何内容,根据策略,我必须修改以下代码才能使其工作。我必须将ojdbc8.jar保持在与这个python文件相同的路径中,并添加以下代码行。

jar=os.getcwd()+'ojdbc8.jar'
args = '-Djava.class.path=%s' % jar
jvm_path = jpype.getDefaultJVMPath()
jpype.startJVM(jvm_path, args)
try:
con = jaydebeapi.connect("oracle.jdbc.driver.OracleDriver", "jdbc:oracle:thin:@HOSTNAME",["USERID", "PASSWORD"], jar)

最新更新