首页 > 解决方案 > 从命令行调用时如何将 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。但是我怎样才能在命令行上做同样的事情呢?

标签: javaclasspathjythonojdbc

解决方案


我将此 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

推荐阅读