我试图建立一个地方发展的基础设施,我想用HSQLDB与我数据源为6.1。我已经知道我必须使用Apache DBCP才能获得连接池,但当我的应用程序试图获得第一个连接时,我就卡住了。如何在Websphere Application Server中使用HSQLDB作为数据源?
我所做的
在WAS我创建了一个JDBC提供带班org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
和去除一切从classpath输入字段。然后,我把公地dbcp.jar,公地pool.jar和MYAPPSERVERDIRECTORY/lib/ext
的hsqldb.jar。
然后,我创建了与供应商一个新的数据源。我增加了以下自定义属性:
driver=org.hsqldb.jdbc.JDBCDriver
url=jdbc:hsqldb:file:///C:/mydatabase.db;shutdown=true
user=SA
password=
我的问题
当我运行我的应用程序和第一次合作连接到数据库,我得到以下例外:
---- Begin backtrace for Nested Throwables
java.sql.SQLException: No suitable driverDSRA0010E: SQL-Status = 08001, Fehlercode = 0
at java.sql.DriverManager.getConnection(DriverManager.java:592)
at java.sql.DriverManager.getConnection(DriverManager.java:196)
at org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:205)
at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper$1.run(InternalGenericDataStoreHelper.java:918)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:955)
at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:1437)
at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1089)
at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1837)
at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1568)
at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2338)
at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:909)
at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:599)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:439)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:408)
对此的任何提示?我怀疑我从hsqldb使用错误的类,或者我的JDBC url是错误的...
啊,OK。我正在使用hsqldb 2.0进行测试。 – cringe 2011-05-22 17:12:08
而且很有可能BDCP不知道新的类名,所以你需要使用旧的类名。 – fredt 2011-05-22 18:41:30