私は、JDBC-OBDCを使用してJavaで小さなアプリケーションを使用すると奇妙な状況に陥りました。私はDatabaseMetaDataクラスを使用してデータベースを検査しています。プログラムを実行すると、すべての問題がなくなります。しかし、DatabaseMetaDataを含むResulset内の値を表示するためにデバッグしたいときは、中にブレークポイントを置いた場合にのみjava.sql.SQLExceptionがスローされます。私のコードは次のとおりです。なぜDatabaseMetaDataをデバッグできないのですか?
DatabaseMetaData patrol = con.getMetaData();
ResultSet answer = patrol.getTables(null, null, null, null);
while(answer.next()) {
if (answer.wasNull() == false) {
tableNamesAsOne = tableNamesAsOne + answer.getString("TABLE_NAME") + " ";
}
}
answer.close();
なぜ私はこのコードセクションにブレークポイントを置くことができませんか?
これはprintStackTraceです。私のコードで
Exception in thread "main" java.sql.SQLException: No data found
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at Snooper.inspect(Snooper.java:56)
at Snooper.<init>(Snooper.java:26)
at Snooper.createAndShowGUI(Snooper.java:112)
at Snooper.main(Snooper.java:125)
ラインSnooper.java:56は
tableNamesAsOne = tableNamesAsOne + answer.getString("TABLE_NAME") + " ";
感謝を指します。
あなたはSQLExceptionを投稿できますか?あなたは接続が長時間待つことになるので、たぶんそれは何らかのタイムアウトです... –
私は投稿に例外を追加しました。ありがとう。 – jomaora
あなたの質問は明確ではありません。データベース(Oracle、MSSQL、MySQL)とは何ですか?どのJava IDEを使用していますか?ブレークポイントが設定されていない状態でIDEで実行すると、動作しますが、ブレークポイントを設定すると例外が発生すると言っていますか?あなたは例外をすぐに取得するのですか?または、2回目に 'answer.next()'を渡しますか? –