Package oracle.jdbc

Class OracleDatabaseException

  • All Implemented Interfaces:
    Serializable

    public class OracleDatabaseException
    extends Exception
    Provides additional information about the Oracle error. Any information which is specific to the Oracle error may go into this class. In case of any parsing error while executing sql in Oracle server, an instance of this class is set as cause of the SQLException thrown by executeXXX methods in oracle.jdbc.Statement and its subclasses. For example, the error position in the failed SQL can be obtained as below,
      try{
        myStatement.executeUpdate();
      }
      catch (SQLException sqlx) {
        if(sqlx.getCause() != null &&
            sqlx.getCause() instanceof OracleDatabaseException) {
          int sqlErrorPosition = 
             ((OracleDatabaseException)sqlx.getCause()).getErrorPosition();
        }
      }
      
    See Also:
    Serialized Form
    • Constructor Detail

      • OracleDatabaseException

        public OracleDatabaseException​(int errorPosition,
                                       int oracleErrorNumber,
                                       String oracleErrorMessage,
                                       String sql,
                                       String originalSql)
    • Method Detail

      • getErrorPosition

        public int getErrorPosition()
        In case of a parsing error, this method returns the position of the error in the actual SQL which has failed in the server. The position corresponds to the actual SQL sent to the server returned by getSql(). It may be different from the original SQL returned by getOriginalSql().
        Returns:
        errorPosition
      • getOracleErrorNumber

        public int getOracleErrorNumber()
        Returns the Oracle error number for this failure.
        Returns:
        OracleErrorNumber
      • getSql

        public String getSql()
        Returns the actual SQL which was sent to the server.
        Returns:
        sql
      • getOriginalSql

        public String getOriginalSql()
        Returns the original SQL used to create the Statement. This SQL may have been modified before being sent to the database to be executed. The SQL sent to the database is returned by getSql(). The method getErrorPosition() returns the position of the error in the actual SQL sent to the database, not the original SQL returned by this method.
        Returns:
        originalSql