
Java에서 SQL문을 실행할 때 발생하는 Warning 정보를 얻으려면, `Statement` 객체의 `getWarnings()` 메소드를 사용할 수 있습니다.
#hostingforum.kr
java
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM 테이블명");
Warning warn = stmt.getWarnings();
if (warn != null) {
System.out.println("Warning 정보 : " + warn.getMessage());
}
만약 `getWarnings()` 메소드가 Warning 정보를 리턴하지 않는다면, `Statement` 객체의 `clearWarnings()` 메소드를 사용하여 Warning 정보를 초기화하고, 다시 `getWarnings()` 메소드를 호출하여 Warning 정보를 얻을 수 있습니다.
#hostingforum.kr
java
Statement stmt = conn.createStatement();
stmt.clearWarnings();
ResultSet rs = stmt.executeQuery("SELECT * FROM 테이블명");
Warning warn = stmt.getWarnings();
if (warn != null) {
System.out.println("Warning 정보 : " + warn.getMessage());
}
또한, JDBC 드라이버의 버전과 설정에 따라 Warning 정보가 리턴되지 않을 수 있습니다. 이 경우, JDBC 드라이버의 버전을 업그레이드하거나, Warning 정보를 로그로 출력하도록 설정하는 방법을 고려할 수 있습니다.
#hostingforum.kr
java
try (Statement stmt = conn.createStatement()) {
stmt.setLogWriter(new PrintWriter(System.out));
ResultSet rs = stmt.executeQuery("SELECT * FROM 테이블명");
// ...
} catch (SQLException e) {
// ...
}
위 코드는 JDBC 드라이버의 Warning 정보를 System.out에 출력하도록 설정합니다.
2025-07-03 04:48