JDB C через Python не может работать с jpype и jaydebeapi, когда я изменил JAVA_HOME - PullRequest
0 голосов
/ 19 февраля 2020

Может ли кто-нибудь мне помочь?

JHOME = jpype.getDefaultJVMPath()
if not jpype.isJVMStarted():
    jpype.startJVM(JHOME, '-Djava.class.path=ojdbc8.jar')


con = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:XXXXXXX/XXXXXXXX@//99.99.99.99:1521/XXX')
cur = con.cursor()

cur.execute("SELECT NAME FROM M_ITEM WHERE ITEMID='" + t.get() + "'")

row = cur.fetchone()  
messagebox.showinfo("Result", row[0])
cur.close()
con.close()

Этот код предназначен для подключения к Oracle Серверу баз данных. Когда я установил для переменной среды JAVA_HOME значение «C: \ Program Files \ Java \ jdk-13.0.1», программа работала без ошибок.

Но после того, как я изменил настройку переменной среды JAVA_HOME, произошла следующая ошибка.

"jpype._jvmfinder.JVMNotFoundException: не найден файл общей библиотеки JVM (jvm.dll). Попробуйте правильно настроить переменную среды JAVA_HOME"

Я пробовал их для Переменная окружения JAVA_HOME, но все ниже выглядит неправильно.

JAVA_HOME = C: \ Program Files (x86) \ Java \ jdk1.7.0_75

JAVA_HOME = C: \ Program Files (x86) \ Java \ jre1.8.0_221

JAVA_HOME = C: \ Program Files (x86) \ Java \ jre7

Что не так? Когда я выбрал jre1.8.0_221 для JAVA_HOME, я думаю, что все должно быть хорошо. Эта проблема происходит на том же компьютере, к которому я мог подключиться. Я планирую распространить это приложение на другой компьютер, поэтому я тестирую с другим параметром JAVA. Хотя моя версия Jpype отличается от этой на веб-странице , последняя версия должна отлично смотреться с моим JAVA8 на JAVA_HOME и Python3 .6. Мой Jpype составляет 0,6,3. Кто-нибудь знает, поддерживает ли моя версия Jpype JAVA8 и Python3 .6?

Или я должен подозревать другую проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...