我試圖建立一個地方發展的基礎設施,我想用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