Как использовать HSQLDB в качестве источника данных в Websphere Application Server? - PullRequest
1 голос
/ 20 мая 2011

Я пытаюсь настроить локальную инфраструктуру разработки и хочу использовать HSQLDB в качестве источника данных с моим WAS 6.1 .Я уже знаю, что мне нужно использовать Apache DBCP , чтобы получить пул соединений, но я застрял, когда мое приложение пытается установить первое соединение.

Что я имеюdone

В WAS я создал JDBC-провайдер с классом org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS и удалил все из поля ввода classpath.Затем я помещаю commons-dbcp.jar , commons-pool.jar и hsqldb.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, или, возможно, мой URL JDBC неправильный ...

1 Ответ

2 голосов
/ 20 мая 2011

В примере, приведенном в документации BDCP, класс org.hsqldb.jdbcDriver используется в качестве драйвера. org.hsqldb.jdbc.JDBCDriver поддерживается только в HSQLDB 2.x, но другой класс поддерживается всеми версиями HSQLDB.

...