sql
Handle SQL warning example
In this example we shall show you how to handle SQL Warnings in Java. To handle SQL Warnings one should perform the following steps:
- Load the JDBC driver, using the
forName(String className)
API method of the Class. In this example we use the Oracle JDBC driver. - Create a Connection to the database. Invoke the
getConnection(String url, String user, String password)
API method of the DriverManager to create the connection. - Get the SQLWarning risen while connecting to the database, using the
getWarnings()
API method of the Connection. - Check the connectionWarning, with
getMessage()
,getSQLState()
,getErrorCode()
and then get the next warning withgetNextWarning()
API methods of the SQLWarning. - Execute an SQL Statement, which returns a ResultSet object. For each row of the ResultSet get the SQLWarnings, using the
getWarnings()
API method of the ResultSet. - Check on the resultsetWarning with the
getMessage()
,getSQLState()
,getErrorCode()
and then get the next warning withgetNextWarning()
API methods of the ResultSet,
as described in the code snippet below.
package com.javacodegeeks.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) { } } }
Output:
Successfully Connected to the database!
This was an example of how to handle SQL Warnings in Java.