试图让组合jython-zxJDBC-UCanAccess在我的 Windows 机器上工作;我一整天都在发疯
zxJDBC.DatabaseError (驱动程序 [net.ucanaccess.jdbc.UcanaccessDriver] 未找到)和 zxJDBC.DatabaseError (驱动程序 [ucanaccess] 未找到)
我一直在使用Gord Thompson的这个示例代码和我的详细信息 - 无论我尝试什么,都会因未找到驱动程序错误而失败:
from com.ziclix.python.sql import zxJDBC
#Or also import ucanaccess
jdbc_url = "jdbc:ucanaccess://Z:/Companies.accdb"
username = ""
password = ""
driver_class = "net.ucanaccess.jdbc.UcanaccessDriver"
#Or driver_class = "net.ucanaccess.jdbc.UcanloadDriver"
cnxn = zxJDBC.connect(jdbc_url, username, password, driver_class)
crsr = cnxn.cursor()
crsr.execute("SELECT * FROM tblSICs")
for row in crsr.fetchall():
print row[0]
crsr.close()
cnxn.close()
- 单独使用 Jython 效果很好,我将它与 SikuliX IDE 一起使用
- 'from ... import zxJDBC' 通过没有错误
- UCanAccess 在命令行 (console.bat) 和我的 MS Access 数据库中运行良好;所有 5 个 JAR 都在 CLASSPATH 变量中
我不明白什么是“driver_class”?我认为特定于数据库的驱动程序是通过 Jython/SikuliX 在 CLASSPATH 中查找的,其中可以看到“.../ucanaccess-5.0.0.jar”。
这里的类路径:
"c:\Users\User\AppData\Roaming\UCanAccess\lib\hsqldb-2.5.0.jar;c:\Users\User\AppData\Roaming\UCanAccess\lib\jackcess-3.0.1.jar;c:\Users\User\AppData\Roaming\UCanAccess\lib\commons-lang3-3.8.1.jar;c:\Users\User\AppData\Roaming\UCanAccess\lib\commons-logging
-1.2.jar;c:\Users\User\AppData\Roaming\UCanAccess\ucanaccess-5.0.0.jar"
这里是 SikuliX IDE 寻找资源的地方:
D:\Drawer 3\Sikuli\Training\UCanAccess.sikuli Z:\test.sikuli C:\Users\User\AppData\Roaming\Sikulix\Lib\site-packages C:\Users\User\AppData\Roaming\Sikulix\ Lib C:\Users\User\AppData\Roaming\Sikulix\Extensions\Lib C:\Users\User\AppData\Roaming\Sikulix\Extensions\jython-standalone-2.7.2.jar\Lib 类路径 pyclasspath /
有没有人发现这个问题?