【问题标题】:python - java.lang.Exception: Class oracle.jdbc.driver.OracleDriver not foundpython - java.lang.Exception:找不到类 oracle.jdbc.driver.OracleDriver
【发布时间】:2018-07-25 09:16:32
【问题描述】:

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

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

我收到的错误如下

C:\Python27\python.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

【问题讨论】:

  • Oracle JDBC 驱动程序 JAR 不能在您的 JVM CLASSPATH 中。

标签: python database jpype


【解决方案1】:

由于我无法修改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)

【讨论】:

    猜你喜欢
    • 2016-06-19
    • 2013-12-22
    • 1970-01-01
    • 2016-03-07
    • 2021-11-27
    • 2013-03-13
    • 1970-01-01
    相关资源
    最近更新 更多