【发布时间】:2012-02-08 00:56:06
【问题描述】:
我想在 beanshell 脚本中连接到一个 hsqldb。
我在加载类时遇到问题,我之前写过,已经回复了。
代码如下:
Connection conn = null;
try {
getClass("org.hsqldb.jdbcDriver").newInstance();
conn = DriverManager.getConnection("jdbc:hsqldb:file:C:/testdata/tdb","SA","");
System.out.println("Connection established");
}
我收到了这个错误:
java.sql.SQLException: No suitable driver found for jdbc:hsqldb:file:C:/testdata/tdb
我也尝试注册驱动程序,但我没有工作
DriverManager.register(getClass("org.hsqldb.jdbcDriver").newInstance())
此代码已经在 java 中工作(而不是使用 Class.forName() 的 getClass()) beanshell 需要什么来处理这段代码?
谢谢, 比拉尔
【问题讨论】:
-
要排除一个和另一个,只用一个
new org.hsqldb.jdbcDriver();行怎么样? -
我也发现了这个问题。我怀疑这与 DriverManager getConnection 方法将类加载器类名与已注册的类进行比较的方式有关。 DriverManager 类的加载逻辑看起来有点意思,里面有一个原生调用……