【问题标题】:How to use HSQLDB as a datasource in Websphere Application Server?如何在 Websphere Application Server 中使用 HSQLDB 作为数据源?
【发布时间】:2011-05-20 06:43:26
【问题描述】:

我尝试建立一个本地开发基础架构,我想将HSQLDB 用作我的 WAS 6.1 的数据源。我已经知道我必须使用Apache DBCP 来获得连接池,但是当我的应用程序尝试获得第一个连接时我被卡住了。

我做了什么

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

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

  • 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 错误...

【问题讨论】:

    标签: jdbc websphere hsqldb


    【解决方案1】:

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

    【讨论】:

    • 啊,好的。我正在使用 hsqldb 2.0 进行测试。
    • 而且BDCP很可能不知道新的类名,所以需要使用旧的类名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    相关资源
    最近更新 更多