jdbc - 如何从 Jython 连接到数据库

标签 jdbc jython

我无法从我的 Jython 程序连接到数据库。纯 Java 程序可以连接,我可以从 Jython 连接到数据库,但只能使用 JDBC-ODBC 桥:“sun.jdbc.odbc.JdbcOdbcDriver”。如果我使用 native JDBC 驱动程序,我的程序将失败并出现“未找到驱动程序”异常。

代码:

import sys
from com.ziclix.python.sql import zxJDBC

connection1 = zxJDBC.connect('jdbc:odbc:test_odbc', 'postgres', 'postgres', 'sun.jdbc.odbc.JdbcOdbcDriver')
print "JDBC:ODBC connection set"
connection2 = zxJDBC.connect('jdbc:postgresql://127.0.0.1/test?stringtype=unspecified', 'postgres', 'postgres', 'org.postgresql.Driver')
print "JDBC native connection set"

输出:

C:\tools\pyscripts\scripts\db_examples>jython --version
Jython 2.5b1 (trunk:5903:5905, Jan 9 2009, 16:01:29)
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_11

C:\tools\pyscripts\scripts\db_examples>jython pg_test.py
JDBC:ODBC connection set
Traceback (most recent call last):
  File "pg_test.py", line 6, in <module>
    connection2 = zxJDBC.connect('jdbc:postgresql://127.0.0.1/test?stringtype=un
specified', 'postgres', 'postgres', 'org.postgresql.Driver')
zxJDBC.DatabaseError: driver [org.postgresql.Driver] not found

我认为我的 CLASSPATH 设置正确,而 native Java 程序可以使用 native 驱动程序连接到该数据库。 我发现所有 JDBC 驱动程序在 cachedir\packages 中都有 .pkc 文件。

我应该设置什么来获取数据库连接?

最佳答案

我会自己回答:

Jython 2.5b1 中存在错误:Jython has problems to dynamically loading classes when installed on the boot classpath

如果我使用 --verify 标志调用它,我就能够运行我的程序。

错误在 Jython 2.5b3 中消失了

关于jdbc - 如何从 Jython 连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/468763/

相关文章:

java - "IndexOutOfBoundsException"因为空值?

tomcat - 我可以从 Tomcat 上下文设置 JDBC 隔离级别吗?

java - 如何使用sqlite制作可执行的java应用程序

jython - 如何控制 $py.class 文件的去向?

java - 为什么我的 Swing 窗口会在几秒钟后自行关闭?

python - jython 中字符函数参数的最大长度是多少?

java - Jython 说 "No visible constructors for class"

java - 使用 Jython 在 Java 和 Python 之间进行通信

java - 从 Tomcat 中转换 JDBC JNDI 数据源 - ComboPooledDataSource

mysql - 如何在Spring中同步数据库访问