java - 从命令行调用时如何将 OJDBC 用作 Jython 脚本的外部 jar
问题描述
我有一个 Jython 脚本,它通过java.sql
包访问 Oracle 数据库。为此,它需要ojdbc6.jar
.
当我通过命令行运行脚本时
java -jar lib/jython.jar my-script.jy
脚本正常启动,但在第一个 SQL 调用它时出错,并出现“ java.sql.SQLException: No proper driver found ”,表明它找不到ojdbc6.jar
。
如何使用上面的终端命令来判断脚本在哪里可以找到ojdbc6.jar
?
PS:
另外,我在一个 Eclipse Java 项目中设置了脚本,我已经在其中添加ojdbc6.jar
(当然还有jython.jar
)作为库。当我使用一个小包装 Java 类实例化 aPythonInterpreter
并通过一切正常调用脚本时PythonInterpreter.execfile
:脚本执行 SQL 语句并按预期从 Oracle 数据库中获取数据。很明显,Java 项目正确地告诉脚本在哪里ojdbc6.jar
。但是我怎样才能在命令行上做同样的事情呢?
解决方案
我将此 jython 代码用于 MS SQL 连接
import sys
sys.path.append("C:\\Libs\\MyJavaPackage.jar")
sys.path.append("C:\\Libs\\mssql-jdbc.jar")
import MyJavaPackage.MySQLClass
import com.microsoft.sqlserver.jdbc.SQLServerDriver // use same import for oracle driver
temp = MyJavaPackage.MySQLClass() // new java class instance
temp.mySQLfunc() // function that use SQL Driver
推荐阅读
- c# - XmlSerializer 在反序列化带有 DataType 时间的 XmlElement 注释的属性时不考虑本地时区
- mongodb - Mongo shell 在导出文件上添加额外的行
- excel - 第 3 方计划重点
- linux - 如何指定 tar 最终结构
- php - 方法 orderBy 不存在。雄辩关系中的分页
- php - WP_REST_Response 与 WP_Error
- rust - 使用 `move` 关键字的闭包如何创建 FnMut 闭包?
- java - Spring Boot 读取文档性能低下
- c# - 使用带有线程安全枚举的 switch case
- java - 使用 Java Regex 从 html 文件中删除二进制数据