Jdbc 如何在WebSphereApplicationServer中将HSQLDB用作数据源?

Jdbc 如何在WebSphereApplicationServer中将HSQLDB用作数据源?,jdbc,websphere,hsqldb,Jdbc,Websphere,Hsqldb,我试图建立一个本地开发基础设施,并希望使用我的WAS 6.1作为数据源。我已经知道我必须使用连接池,但是当我的应用程序尝试获得第一个连接时,我就卡住了 我所做的 在WAS中,我使用类org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS创建了一个JDBC提供程序,并删除了类路径输入字段中的所有内容。然后我将commons-dbcp.jar、commons-pool.jar和hsqldb.jar放在MYAPPSERVERDIRECTORY/lib

我试图建立一个本地开发基础设施,并希望使用我的WAS 6.1作为数据源。我已经知道我必须使用连接池,但是当我的应用程序尝试获得第一个连接时,我就卡住了

我所做的

在WAS中,我使用类
org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
创建了一个JDBC提供程序,并删除了类路径输入字段中的所有内容。然后我将commons-dbcp.jar、commons-pool.jar和hsqldb.jar放在
MYAPPSERVERDIRECTORY/lib/ext

然后,我用该提供者创建了一个新的数据源。我添加了以下自定义属性:

  • driver=org.hsqldb.jdbc.JDBCDriver
  • url=jdbc:hsqldb:file:///C:/mydatabase.db;关机=真
  • 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错误…

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

啊,好的。我正在使用HSQLDB2.0进行测试。BDCP可能不知道新的类名,因此需要使用旧的类名。