Class SQLDiagnostic


  • class SQLDiagnostic
    extends java.lang.Object
    Helper class for handling SQL warnings and errors.

    Assigns SQL state values in accordance to the native error number returned by the database server.

    Version:
    $Id: SQLDiagnostic.java,v 1.12 2007/08/05 20:17:54 bheineman Exp $
    Author:
    Alin Sinpalean, Mike Hutchinson
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.sql.SQLException exceptions  
      private static java.util.HashMap mssqlStates
      Map to convert Microsoft SQL server error codes to ANSI SQLSTATE codes.
      private int serverType
      SQL Server type.
      private static java.util.HashMap sybStates
      Map to convert Sybase SQL server error codes to ANSI SQLSTATE codes.
      (package private) java.sql.SQLWarning warnings  
    • Constructor Summary

      Constructors 
      Constructor Description
      SQLDiagnostic​(int serverType)
      Create an SQL message for a specific server type.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void addDiagnostic​(int number, int state, int serverity, java.lang.String message, java.lang.String server, java.lang.String procName, int line)
      Create a dianostic SQLException or SQLWarning.
      (package private) void addException​(java.sql.SQLException e)  
      (package private) void addWarning​(java.sql.SQLWarning w)  
      (package private) void checkErrors()
      Check the exception chain for errors and throw any found as an SQLException.
      (package private) void clearWarnings()
      Clear the warning chain.
      private static java.lang.String getStateCode​(int number, int serverType, java.lang.String defState)
      Map an SQL Server error code to an ANSI SQLSTATE code.
      (package private) java.sql.SQLWarning getWarnings()
      Return the warning chain.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • mssqlStates

        private static final java.util.HashMap mssqlStates
        Map to convert Microsoft SQL server error codes to ANSI SQLSTATE codes. The values in this table are derived from the list compiled by the FreeTDS project. Thank you for the hard work.
      • sybStates

        private static final java.util.HashMap sybStates
        Map to convert Sybase SQL server error codes to ANSI SQLSTATE codes. The values in this table are derived from the list compiled by the FreeTDS project. Thank you for the hard work.
      • serverType

        private final int serverType
        SQL Server type. Either Driver.SQLSERVER or Driver.SYBASE.
      • exceptions

        java.sql.SQLException exceptions
      • warnings

        java.sql.SQLWarning warnings
    • Constructor Detail

      • SQLDiagnostic

        SQLDiagnostic​(int serverType)
        Create an SQL message for a specific server type.
        Parameters:
        serverType - either Driver.SQLSERVER or Driver.SYBASE
    • Method Detail

      • addWarning

        void addWarning​(java.sql.SQLWarning w)
      • addException

        void addException​(java.sql.SQLException e)
      • addDiagnostic

        void addDiagnostic​(int number,
                           int state,
                           int serverity,
                           java.lang.String message,
                           java.lang.String server,
                           java.lang.String procName,
                           int line)
        Create a dianostic SQLException or SQLWarning.
        Parameters:
        number - SQL Server error number.
        state - SQL Server state code.
        serverity - SQL Server serverity > 10 = error.
        message - SQL Server error message text.
        server - SQL Server name.
        procName - SQL Server stored procedure name.
        line - SQL Server error line number in SQL source.
      • clearWarnings

        void clearWarnings()
        Clear the warning chain.
      • checkErrors

        void checkErrors()
                  throws java.sql.SQLException
        Check the exception chain for errors and throw any found as an SQLException.
        Throws:
        java.sql.SQLException
      • getWarnings

        java.sql.SQLWarning getWarnings()
        Return the warning chain.
        Returns:
        The warning chain head as a SQLWarning.
      • getStateCode

        private static java.lang.String getStateCode​(int number,
                                                     int serverType,
                                                     java.lang.String defState)
        Map an SQL Server error code to an ANSI SQLSTATE code.
        Parameters:
        number - the SQL Server error number
        serverType - Driver.SQLSERVER or Driver.SYBASE
        defState - the default state code to return if the mapping fails
        Returns:
        the SQLSTATE code as a String