2017-04-03 157 views
1

试图连接到一个数据库,但得到的错误:司机没有发现连接到Oracle数据库与jaydebeapi

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%提示我没有做对吗? 还是有其他问题吗?

+0

您必须将Oracle驱动程序jar添加到您的类路径中。它不是jdk的一部分 – Jens

+0

这种错误可能意味着只有OracleDriver不在classpath中。将它添加到classpath –

+0

谢谢 - 但我该怎么做?我不知道我的类路径是什么... – dreab

回答

0

在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