1

我正在尝试使用来自https://bitbucket.org/xerial/sqlite-jdbc#markdown-header-usage的 Rjb 和 JDBC 驱动程序连接到 sqlite 数据库

我无法弄清楚如何使用 Rjb 调用以下 Java:

Class.forName("org.sqlite.JDBC")

有没有人成功使用 Rjb 连接到 sqlite?

到目前为止,我的 RJB 代码如下,并抛出异常'java.sql.SQLException:没有为 jdbc:sqlite:/Users/obrientimothya/Dropbox/development/vle/db/development.sqlite3 找到合适的驱动程序'

Connection                  = Rjb::import 'java.sql.Connection'
DriverManager               = Rjb::import 'java.sql.DriverManager'
SQLException                = Rjb::import 'java.sql.SQLException'
DriverManager.registerDriver(Rjb::import('org.sqlite.JDBC'))
connection = DriverManager.getConnection("jdbc:sqlite:/Users/obrientimothya/development.sqlite3")
4

1 回答 1

0

我最终通过在加载 JVM 时添加系统属性 jdbc.drivers 来解决这个问题......

Rjb::load( classpath, ['-Djdbc.drivers=org.sqlite.JDBC','-Xms128M', '-Xmx256M'] )

这告诉 java.sql.DriverManager 加载 sqlite jdbc 驱动程序类本身,无需调用 Class.forName()。

于 2013-05-05T23:56:17.983 回答