- - PR -
Java-AccessDB接続におけるエラーについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-07-13 22:42
現在、下記[環境]上でAccessDBからデータを取得するWebアプリを作成しています。
AccessDBに対してSELECTを繰り返していると下記[エラー]が発生します。 エラーメッセージをネット上で探したのですが見つからないため投稿しました。 原因や回避策をご存知の方がいましたらご教授下さい。 [エラー] [Microsoft][ODBC Microsoft Access Driver] これ以上テーブルを開くことはできません。 [環境] WindowsXP Tomcat4.1.30 JDK1.4.2.07 Access2000 | ||||
|
投稿日時: 2005-07-14 10:27
とりあえず、エラーの発生する最低限のコードぐらい、提示してみてはいかがでしょう?
| ||||
|
投稿日時: 2005-07-14 11:20
現状、わかっていることを記載します。
コードは以下のような感じです。 Class.forName(・・・); Connection connection = DriverManager.getConnection(・・・); PreparedStatement ps = connection.prepareStatement(・・・); ResultSet rs = ps.executeQuery(); executeQuery()をコールした時点でSQLExceptionが発生し、 記載した[エラー]とSQLState="S1001"が発生していました。 | ||||
|
投稿日時: 2005-07-14 11:37
まんまなんじゃないかと疑ってみたんですが・・・。 Connectionなどをクローズし忘れてしまって、 「テーブルが開いている数が増えていきエラーが出た」 って感じなのではないかと。 提示されたコードは部分的でしかないので、断言できないのですが・・・。 | ||||
|
投稿日時: 2005-07-14 12:31
すみません。解決しました。
PreparedStatementを複数取得していたにも関わらず、 PreparedStatementのclose()を1回しかしていませんでした。。。。 各PreparedStatement取得に対してclose()を行うようにしたところ 解決しました。 ご意見ありがとうございました。 | ||||
|
投稿日時: 2005-07-14 12:48
rsもクローズしてください。
| ||||
|
投稿日時: 2005-07-14 13:21
StatementオブジェクトをクローズしていればResultSetオブジェクトのクローズは不要です。 #ドライバがきちんと実装されていることが前提ですが |
1