欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java处理sql的警告信息,javasql警告,在连接到数据库执行sql

来源: javaer 分享于  点击 36740 次 点评:177

java处理sql的警告信息,javasql警告,在连接到数据库执行sql


在连接到数据库执行sql语句时,有时候会出现一些警告信息,在jdbc中可否读取到这些警告信息呢?肯定是可以的,如下代码:

package cn.outofmemory.snippets.core;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.SQLWarning;import java.sql.Statement;public class SQLWarning {  public static void main(String[] args) {    Connection connection = null;    try {        // Load the Oracle JDBC driver        String driverName = "oracle.jdbc.driver.OracleDriver";        Class.forName(driverName);        // Create a connection to the database        String serverName = "localhost";        String serverPort = "1521";        String sid = "mySchema";        String url = "jdbc:oracle:thin:@" + serverName + ":" + serverPort + ":" + sid;        String username = "username";        String password = "password";        connection = DriverManager.getConnection(url, username, password);        System.out.println("Successfully Connected to the database!");    } catch (ClassNotFoundException e) {        System.out.println("Could not find the database driver " + e.getMessage());    } catch (SQLException e) {        System.out.println("Could not connect to the database " + e.getMessage());    }    try {        // Get warnings risen while connecting to the database        SQLWarning connectionWarning = connection.getWarnings();        while (connectionWarning != null) {            String warningMessage = connectionWarning.getMessage();            String warningSQLState = connectionWarning.getSQLState();            int warningErrorCode = connectionWarning.getErrorCode();            System.out.println("Connection warning : " + warningErrorCode +" Message : " + warningMessage + " SQL state " + warningSQLState);            connectionWarning = connectionWarning.getNextWarning();        }        // Create a statement        Statement statement = connection.createStatement();        // Use the statement...        // Get warnings risen while using the statement        SQLWarning statementWarning = statement.getWarnings();        if (statementWarning != null) {            String warningMessage = statementWarning.getMessage();            String warningSQLState = statementWarning.getSQLState();            int warningErrorCode = statementWarning.getErrorCode();            System.out.println("Statement warning : " + warningErrorCode +" Message : " + warningMessage + " SQL state " + warningSQLState);            statementWarning = statementWarning.getNextWarning();        }        // Get the result set from the statement        ResultSet resultSet = statement.executeQuery("SELECT * FROM test_table");        while (resultSet.next()) {            // Use result set ...            // Get warnings on the current row of the result set            SQLWarning resultsetWarning = resultSet.getWarnings();            if (resultsetWarning != null) {                    String warningMessage = resultsetWarning.getMessage();                    String warningSQLState = resultsetWarning.getSQLState();                    int warningErrorCode = resultsetWarning.getErrorCode();                    System.out.println("Resultset warning : " + warningErrorCode +" Message : " + warningMessage + " SQL state " + warningSQLState);                    resultsetWarning = resultsetWarning.getNextWarning();            }        }    } catch (SQLException e) {    } }}

输出:

Successfully Connected to the database!
相关栏目:

用户点评