Соединение GlassFish с MS Access - PullRequest
       17

Соединение GlassFish с MS Access

0 голосов
/ 05 декабря 2011

Для моих грехов я должен заставить веб-приложение, над которым я работаю, взаимодействовать со старой базой данных MS Access, которая используется одним из наших старых приложений.

Первая проблема с Access, конечно, заключается в том, как установить соединение.После долгих поисков я не смог найти ни одного драйвера типа 3 или 4, который бы мне понравился (все, кто их продает, кажется, прекратили разработку много лет назад), что подтолкнуло меня к использованию моста JDBC-ODBC.

Поскольку я не использовал мост более десяти лет, я быстро набросал код, чтобы проверить, все ли работает:

sun.jdbc.odbc.ee.DataSource ds = new sun.jdbc.odbc.ee.DataSource();
ds.setDatabaseName("MyDatabase");
Connection conn = ds.getConnection();
PreparedStatement stmt = conn.prepareStatement( "SELECT * FROM MyTable" );
ResultSet rs = stmt.executeQuery();
while( rs.next() ) {
    System.out.println( rs.getString( 1 ) );
}

Я решил использовать DataSource, так как это ближекак это будет использоваться в финальной заявке.Приведенный выше код работает нормально и дает ожидаемый результат.

Затем я настроил пул соединений JDBC под GlassFish 3.1.1.Я установил тип ресурса на javax.sql.DataSource и дал имя класса источника данных как sun.jdbc.odbc.ee.DataSource.Я также установил одно свойство databaseName = MyDatabase.

Когда я проверяю базу данных через GlassFish, я получаю это сообщение об ошибке:

Ping Connection Pool for MyConnectionPool is Failed. Ping failed 
Exception - Connection could not be allocated because: 
[Microsoft][ODBC Microsoft Access Driver] System resource exceeded.

system.log для GlassFish действительно не обеспечиваетлюбую дополнительную информацию, которую он просто сообщает:

Exception while creating an unpooled [test] connection for pool [ MyConnectionPool ]

и затем повторяет сообщение об ошибке.Я попытался изменить параметры пула в GlassFish, думая, что это может быть проблемой с тем, сколько соединений он пытается объединить, но это не сработало.Есть идеи?

PS Переход на MS SQL / MySQL / Другие БД на данный момент отсутствует и опция: -)

1 Ответ

0 голосов
/ 29 февраля 2012

Понятия не имею, что было на самом деле не так, отключение автоматического пинга при изменениях и перезапуск системы заставили его начать работать, и с тех пор у меня не было никаких проблем.

...