2011-05-20 37 views
1

我试图建立一个地方发展的基础设施,我想用HSQLDB与我数据源为6.1。我已经知道我必须使用Apache DBCP才能获得连接池,但当我的应用程序试图获得第一个连接时,我就卡住了。如何在Websphere Application Server中使用HSQLDB作为数据源?

我所做的

在WAS我创建了一个JDBC提供带班org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS和去除一切从classpath输入字段。然后,我把公地dbcp.jar公地pool.jarMYAPPSERVERDIRECTORY/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是错误的...

回答

2

在BDCP文档中给出的示例中,org.hsqldb.jdbcDriver类用作驱动程序。 org.hsqldb.jdbc.JDBCDriver仅在HSQLDB 2.x中受支持,但所有版本的HSQLDB都支持其他类。

+0

啊,OK。我正在使用hsqldb 2.0进行测试。 – cringe 2011-05-22 17:12:08

+0

而且很有可能BDCP不知道新的类名,所以你需要使用旧的类名。 – fredt 2011-05-22 18:41:30

相关问题