我无法从我的Jython程序连接到数据库.纯Java程序可以连接,我可以从Jython连接到db,但只使用JDBC-ODBC桥:"sun.jdbc.odbc.JdbcOdbcDriver".如果我使用本机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, inconnection2 = 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设置正确,而本机Java程序可以使用本机驱动程序连接到此数据库.我发现所有JDBC驱动程序都在cachedir\packages中有.pkc文件.
我应该设置什么来获取数据库连接?
我会自己回答:
Jython 2.5b1中存在错误:当安装在引导类路径上时,Jython在动态加载类时存在问题
如果我用--verify标志调用它,我就可以运行我的程序.
Bug在Jython 2.5b3中消失了