2011-05-20 65 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

相關問題