2017-04-03 70 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