JDBC-OBDC를 사용하여 Java에서 약간의 응용 프로그램으로 이상한 상황이 발생했습니다. DatabaseMetaData 클래스를 사용하여 데이터베이스를 검사하고 있습니다. 프로그램을 실행하면 모든 것이 문제없이 작동합니다. 그러나 DatabaseMetaData를 포함하고있는 Resulset 내부의 값을보기 위해 디버그를하고 싶을 때 java.sql.SQLException이 중단 점을 넣을 때만 throw됩니다. 내 코드는 다음과 같습니다.왜 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을 게시 할 수 있습니까? 연결 시간이 너무 오래 걸릴 수 있기 때문에 어쩌면 어떤 종류의 타임 아웃 일 수 있습니다 ... –
게시글에 Exception을 추가했습니다. 감사. – jomaora
질문이 명확하지 않습니다. 데이터베이스 (Oracle, MSSQL, MySQL) 란 무엇입니까? 어떤 Java IDE를 사용하고 있습니까? 브레이크 포인트를 설정하지 않고 IDE에서 실행하면 작동하지만 브레이크 포인트를 설정하면 예외가 발생한다고 말하는 것입니까? 예외를 즉시 얻는가? 아니면 두 번째로'answer.next()'를 통과 할 것인가? –