【问题标题】:Driver not found connecting to oracle DB with jaydebeapi找不到使用 jaydebeapi 连接到 oracle DB 的驱动程序
【发布时间】:2017-08-28 08:27:01
【问题描述】:

尝试连接数据库但出现错误:

conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver',                                     
                         jdbc:oracle:thin:@mydomain.com:1234:GP1', [ 'user', 'pass'],      
                         'C:\Program Files\Java\jdk1.8.0_121\ojdb6.jar')

给出错误

File "C:\Anaconda2\Lib\site-packages\jpype\_jclass.py", line 55, in JClass
raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name)

java.lang.RuntimeExceptionPyRaisable: java.lang.RuntimeException: Class     
oracle.jdbc.driver.OracleDriver not found

我的 JAVA_HOME 变量设置为C:\Program Files\Java\jdk1.8.0_121,并且在该目录中我有 ojdb6.jar 文件,但我认为我没有正确管理正确设置 CLASSPATH。我该怎么做?,我应该设置什么?

已尝试此处的说明,但认为我做得不对。 https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html 例如

set CLASSPATH C:\Program Files\Java\jdk1.8.0_121 但是,当我使用命令行echo %CLASSPATH% 时,它只是返回%CLASSPATH%,这表明我没有做对吗? 还是有其他问题?

【问题讨论】:

  • 您必须将 Oracle Driver jar 添加到您的类路径中。它不是 jdk 的一部分
  • 这样的错误可能只意味着 OracleDriver 不在类路径中。将其添加到类路径
  • 谢谢 - 但我该怎么做呢?我不知道我的类路径是什么...
  • @JaySmith _______
  • 你用ide吗?如果没有,那么stackoverflow.com/questions/219585/…

标签: java python oracle oracle11g jaydebeapi


【解决方案1】:

在 Windows 上,路径中的反斜杠必须转义,或者您可以使用原始字符串:

conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver',                                     
                         jdbc:oracle:thin:@mydomain.com:1234:GP1', [ 'user', 'pass'],      
                         r'C:\Program Files\Java\jdk1.8.0_121\ojdb6.jar')

或者,您可以按照in the JDK docs 的描述设置环境变量CLASSPATH。

【讨论】:

    猜你喜欢
    • 2013-09-29
    • 2017-09-30
    • 2019-07-19
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多