java - 当我更改 JAVA_HOME 时,通过 Python 的 JDBC 无法与 jpype 和 jaydebeapi 一起使用
问题描述
有人可以帮助我吗?
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 文件 (x86)\Java\jre7
怎么了?当我为 JAVA_HOME 选择 jre1.8.0_221 时,我想应该没问题。这个问题发生在我可以连接的同一台计算机上。我计划将此应用程序分发到另一台计算机,因此我正在使用 JAVA 的另一个设置进行测试。虽然我的 Jpype 版本与网页上的这个不同,但最新版本在 JAVA_HOME 和 Python3.6 上使用我的 JAVA8 应该看起来不错。我的 Jpype 是 0.6.3。有谁知道我的 Jpype 版本是否支持 JAVA8 和 Python3.6?
或者我应该怀疑另一个问题?
解决方案
推荐阅读
- c# - 在 bitbucket 中与同事一起编写代码的团队合作问题
- firebase - 如何使用您在日志中看到的“Cloud Functions for Firebase”跟踪 ID?
- unity3d - vuforia 是否支持动态模型。添加、删除、更改要在运行时跟踪的模型
- jenkins - 您如何传递字符串变量以在 jenkinsfile 中构建作业参数
- java - 如何在列表中断言模拟对象
- php - 我需要一个查询来返回喜欢或不喜欢帖子评论的用户
- django - 如何将我的 Hyperledger 网络与我的 django 项目集成?
- java - 如何在独立的 java 项目中生成 JSON-LD?
- python - 如何更改和保留遍历分页器“每页”项目加载的 aspx 页面?
- uwp - 当 minDate 设置为 2 月 11 日时,UWP CalendarDatePicker 显示“三月”