Esempio n. 1
0
        private void ErrorMessage(OracleException Ex)
        {
            switch (Ex.Number)
            {
            case 1:
                MessageBox.Show("Le numéro de livre doit etre unique", "Erreur 1", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;

            case 2292:
                MessageBox.Show("Le livre à déjà été louer", "Erreur 2292", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;

            case 1410:
                MessageBox.Show("Vous ne pouvez pas rien mettre dans le titre", "Erreur 1410", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;

            case 1407:
                MessageBox.Show("Vous ne pouvez pas rien mettre dans le titre", "Erreur 1407", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;

            case 1400:
                MessageBox.Show("Vous ne pouvez pas rien mettre dans le titre", "Erreur 1400", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;

            default:
                MessageBox.Show("Une erreur non-gerer est survenue : " + Ex.Number.ToString() + ":" + Ex.Message.ToString(), Ex.Number.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 提交当前操作的结果
 /// </summary>
 public int Commit()
 {
     try
     {
         int returnValue = dbcontext.SaveChanges();
         if (dbTransaction != null)
         {
             dbTransaction.Commit();
             this.Close();
         }
         return(returnValue);
     }
     catch (Exception ex)
     {
         if (ex.InnerException != null && ex.InnerException.InnerException is OracleException)
         {
             OracleException sqlEx = ex.InnerException.InnerException as OracleException;
             throw SqlHelper.ThrowDataAccessException(sqlEx, sqlEx.Message);
         }
         throw;
     }
     finally
     {
         if (dbTransaction == null)
         {
             this.Close();
         }
     }
 }
        private static bool IsTransientError(OracleException oraEx)
        {
            // there may be more error codes that we need but there are so many to go through....
            // http://docs.oracle.com/cd/B19306_01/server.102/b14219.pdf
            switch (oraEx.Number)
            {
            case -6403:                     // network address connect timeout
            case 51:                        // timeout waiting for a resource
            case 1033:                      // ORACLE initialization or shutdown in progress
            case 1034:                      // ORACLE not available
            case 1089:                      // immediate shutdown in progress - no operations are permitted
            case 3113:                      // Closed connection
            case 3135:                      // connection lost contact
            case 12150:                     // TNS:unable to send data
            case 12153:                     // TNS:not connected
            case 12154:                     // TNS:could not resolve the connect identifier specified
            case 12157:                     // TNS:internal network communication error
            case 12161:                     // TNS:internal error: partial data received
            case 12170:                     // TNS:connect timeout occurred
            case 12171:                     // TNS:could not resolve connect identifier
            case 12203:                     // TNS:could not connect to destination
            case 12224:                     // TNS:no listener
            case 12225:                     // TNS:destination host unreachable
            case 12537:                     // TNS: connection closed
            case 12541:                     // TNS:no listener
            case 12543:                     // TNS:destination host unreachable
            case 12545:                     // Connection Failed (Generally a network failure - Cannot Reach Host)
            case 12552:                     // TNS: Unable to send break
            case 12571:                     // TNS: packet writer failure
                return(true);

            default:
                return(false);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Create a string with as much specific database error as possible
        /// </summary>
        /// <param name="ex">The exception</param>
        /// <returns>A string</returns>
        public override string GetDatabaseSpecificError(Exception ex)
        {
            OracleException exp = null;
            StringBuilder   sb  = new StringBuilder(1024);

            if (ex is OracleException)
            {
                exp = ((OracleException)(ex));

                for (int index = 0; index <= exp.Errors.Count - 1; index++)
                {
                    sb.AppendLine(new string('*', 40));
                    sb.AppendLine("**** BEGIN: Oracle Exception #" + (index + 1).ToString() + " ****");
                    sb.AppendLine("    Type: " + exp.Errors[index].GetType().FullName);
                    sb.AppendLine("    Message: " + exp.Errors[index].Message);
                    sb.AppendLine("    Source: " + exp.Errors[index].Source);
                    sb.AppendLine("    Number: " + exp.Errors[index].Number.ToString());
                    sb.AppendLine("    Procedure: " + exp.Errors[index].Procedure);
                    sb.AppendLine("    BindIndex: " + exp.Errors[index].ArrayBindIndex.ToString());
                    sb.AppendLine("**** END: Oracle Exception #" + (index + 1).ToString() + " ****");
                    sb.AppendLine(new string('*', 40));
                }
            }
            else
            {
                sb.Append(ex.Message);
            }

            return(sb.ToString());
        }
        internal MDBCommand(SqlCommand cmd)
#endif
        {
            try
            {
                this.cmd         = cmd;
                this.commandText = this.cmd.CommandText;
#if POSTGRESQL
                this.cnn = new NpgsqlConnection(this.cmd.Connection.ConnectionString);
#elif ORACLE
                this.cnn = new OracleConnection(this.cmd.Connection.ConnectionString);
#elif SQLSERVER
                this.cnn = new SqlConnection(this.cmd.Connection.ConnectionString);
#endif
            }
            catch (Exception exception)
            {
#if POSTGRESQL
                throw new MDBException(exception, exception.Message);
#elif ORACLE
                OracleException ex = exception as OracleException;
                throw new MDBException(exception, this.commandText, ex.Number);
#elif SQLSERVER
                throw new MDBException(exception, exception.Message);
#endif
            }
        }
        public MDBDataAdapter(MDBCommand mdbCmd)
        {
            try
            {
                mdbCon = mdbCmd.cnn;
#if POSTGRESQL
                NpgsqlCommand Cmd = new NpgsqlCommand(mdbCmd.CommandText, mdbCon);
                Cmd.CommandType = Cmd.CommandType;
                foreach (NpgsqlParameter par in mdbCmd.Parameters)
                {
                    Cmd.Parameters.Add(par.ParameterName, par.NpgsqlDbType, par.Size).Value = par.Value;
                }
                this.adapter = new NpgsqlDataAdapter(Cmd);
#else
                OracleCommand Cmd = new OracleCommand(mdbCmd.CommandText, mdbCon);
                Cmd.CommandType = mdbCmd.CommandType;
                foreach (OracleParameter par in mdbCmd.Parameters)
                {
                    Cmd.Parameters.Add(par.ParameterName, par.OracleDbType, par.Size).Value = par.Value;
                }
                this.adapter = new OracleDataAdapter(Cmd);
#endif
            }
            catch (Exception exception)
            {
#if POSTGRESQL
                throw new MDBException(exception, exception.Message);
#else
                OracleException ex = (OracleException)exception;
                throw new MDBException(exception, exception.Message, ex.Number);
#endif
            }
        }
Esempio n. 7
0
 private void ProcesarExcepcion(OracleException pExcepcion)
 {
     IsError           = true;
     ErrorDescripcion += " \n" + pExcepcion.Message + " \n";
     ErrorDescripcion += pExcepcion.ErrorCode + " \n";
     ErrorDescripcion += pExcepcion.StackTrace;
 }
 private void exceptionProcessing(OracleException exception)
 {
     IsError           = true;
     ErrorDescription += " \n" + exception.Message + " \n";
     ErrorDescription += exception.ErrorCode + " \n";
     ErrorDescription += exception.StackTrace;
 }
Esempio n. 9
0
        private static string GetDalExceptionMessage(OracleException ex)
        {
            switch (ex.Number)
            {
            // system
            case 1: return(ExceptionResources.DuplicateKeyError);

            case 1400: return(string.Format(ExceptionResources.FieldIsNullError, GetField(ex.Message)));

            // user
            case 20002: return(ExceptionResources.ForeignKeyConstraintError);

            default:
                if (ex.Number < ExceptionHelper.OraUserDefaultErrorNumber)
                {
                    return(ExceptionResources.CommonDataError);
                }

                // убираем начало ошибки
                var message = ex.Message.Remove(0, ExceptionHelper.OraPrefLength);

                // выбираем только одну строку
                var index = message.IndexOf(ExceptionHelper.OraTemplate, StringComparison.Ordinal);
                return(index >= 0 ? message.Substring(0, index) : message);
            }
        }
Esempio n. 10
0
        public object this[string i]
        {
            get
            {
                object obj2 = null;
                try
                {
                    obj2 = new MDBParameter((IDbDataParameter)this.paramCols[i]);
                }
                catch (Exception exception)
                {
#if POSTGRESQL
                    throw new MDBException(exception, exception.Message);
#else
                    OracleException ex = (OracleException)exception;
                    throw new MDBException(exception, exception.Message, ex.Number);
#endif
                }
                return(obj2);
            }
            set
            {
                this.paramCols[i] = ((MDBParameter)value).para;
            }
        }
Esempio n. 11
0
 public static void LogSqlException(OracleException exception)
 {
     if (exception != null)
     {
         LogSqlErrorCollection(exception.Errors);
     }
 }
Esempio n. 12
0
        /// <summary>
        /// Ads to the LogMessages file the message parsed as parameter
        /// </summary>
        /// <param name="message"></param>
        public static void LogMessage(OracleException exception)
        {
            string path = @"Logs.txt";

            if (File.Exists(path))
            {
                using (var logFile = new StreamWriter(path, true))
                {
                    var macAddr =
                        (
                            from nic in NetworkInterface.GetAllNetworkInterfaces()
                            where nic.OperationalStatus == OperationalStatus.Up
                            select nic.GetPhysicalAddress().ToString()
                        ).FirstOrDefault();
                    logFile.WriteLine(DateTime.UtcNow.ToString() + "\t\t" + macAddr + "\t\t" + exception.Message +
                                      "\t\t" + exception.StackTrace + "\t\t" + exception.Errors);
                }
            }
            else
            {
                using (var logFile = new StreamWriter(path, true))
                {
                    logFile.WriteLine("Date Time:\t\t\tMac Adress:\t\t\tError Message:\t\t\tStack:\t\t\tError: \n\n");
                }
                LogMessage(exception);
            }
        }
Esempio n. 13
0
        public static Exception ThrowOracleUserException(OracleException ex, string commandText)
        {
            if (ex.Number == ORACLE_WRONG_PARAMETERS)
            {
                if (m_CachedParameters.ContainsKey(commandText))
                {
                    m_CachedParameters.Remove(commandText);
                }
            }

            if (ex.Number == ORACLE_USER_HANDLED_EXCEPTION_CODE)
            {
                var match = Regex.Match(ex.Message, "<ERROR ID=([0-9]+)>([^<]*)</ERROR>");
                if (match.Success)
                {
                    var errCode    = int.Parse(match.Groups[1].Value);
                    var errMessage = match.Groups[2].Value;

                    if (!string.IsNullOrEmpty(errMessage))
                    {
                        return(ErrorUtils.CreateErrorWithSubMessage(errCode, errMessage));
                    }
                    return(ErrorUtils.CreateError(errCode));
                }
            }
            return(ErrorUtils.CreateErrorWithSubMessage(ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message));
        }
        private DataAccessException GenericOraDbException(OracleException exception)
        {
            int    errNr      = exception.Number;
            string strErrCode = "ORA" + errNr.ToString();

            return(new DataAccessException(exception.Message, strErrCode, exception));;
        }
        private void ErrorMessage(OracleException Ex)
        {
            switch (Ex.Number)
            {
            case 02290:
                //check not in
                MessageBox.Show("Spécialisation invalide");
                break;

            case 02292:
                // au lieu d'afficher violation de clé étrangère , on affiche ceci:
                MessageBox.Show("Impossible de supprimer le stage; un étudiant lui est assigné");
                break;

            case 01400:
                //check not null
                MessageBox.Show("Il y a des champs obligatoires vides");
                break;

            case 01438:
                // Si le number est plus long que spécifié
                MessageBox.Show("Impossible d'ajouter le stage; le numéro d'entreprise spécifié n'existe pas");
                break;

            case 02291:
                MessageBox.Show("Impossible d'ajouter le stage; le numéro d'entreprise spécifié n'existe pas");
                break;

            default: MessageBox.Show(Ex.Message.ToString());
                break;
            }
        }
Esempio n. 16
0
        /// <summary>
        /// 针对性处理数据库异常
        /// </summary>
        /// <param name="oraEx"></param>
        /// <param name="conn"></param>
        public static void HandleOraException(OracleException oraEx, OracleConnection conn)
        {
            if (oraEx == null)
            {
                return;
            }

            switch (oraEx.Number)
            {
            case 3113:      //ORA-03113: 通信通道的文件结尾
                //可能发生在重启数据库
                OracleConnection.ClearAllPools();
                throw new Exception("发生ORA-03113错误,已清空数据库连接池。", oraEx);

            case 28:        //ORA-00028: 会话己被终止(session kill) - 发生在会话被Kill之后
            case 1012:      //ORA-01012: 没有登录(not logon) - 发生在ORA-00028后再访问数据库
            case 2396:      //ORA-02396: 超出最大空闲时间(exceeded maximum idle time)
            case 12535:     //ORA-12535: TNS操作超时(TNS:operation timed out)
                if (conn != null)
                {
                    OracleConnection.ClearPool(conn);
                    throw new Exception("发生ORA-" + oraEx.Number.ToString() + "错误,已从数据库连接池清理掉当前连接。", oraEx);
                }
                else
                {
                    OracleConnection.ClearAllPools();
                    throw new Exception("发生ORA-" + oraEx.Number.ToString() + "错误,已清空数据库连接池。", oraEx);
                }

            default:
                break;
            }

            //ORA-01089: 正在执行立即关闭 - 发生在数据库正在关闭
        }
Esempio n. 17
0
        /// <summary>
        /// Fixes newlines in oracle error message
        /// </summary>
        /// <param name="message"></param>
        /// <param name="ex"></param>
        private void TraceOracleError(string message, OracleException ex)
        {
            String error = ex.Message;

            error = error.Replace(Environment.NewLine, "\n");
            error = error.Replace("\n", Environment.NewLine + "     ");
            Tracing.TraceEvent(TraceEventType.Error, 0, "{0}\r\n   {1}{2}", message, error, ex.StackTrace);
        }
Esempio n. 18
0
        private void Erreur(OracleException exception)
        {
            FormErreur Erreur = new FormErreur(exception);

            if (Erreur.ShowDialog() == DialogResult.Cancel)
            {
                this.Close();
            }
        }
Esempio n. 19
0
 // See Issue #985
 private bool RetryOnExistsFailure(OracleException exception)
 {
     if (exception.Number == 1049)
     {
         ClearPool();
         return(true);
     }
     return(false);
 }
Esempio n. 20
0
 private void oracleExceptionHandle(OracleException excep)
 {
     if (errorDisplayHtmlLabel != null)
     {
         errorDisplayHtmlLabel.Text      = excep.Message;
         errorDisplayHtmlLabel.Visible   = true;
         errorDisplayHtmlLabel.ForeColor = System.Drawing.Color.Red;
     }
 }
Esempio n. 21
0
        /// <summary>
        /// Returns a boolean indicating whether or not the given dbException is for a primary key constraint
        /// </summary>
        /// <param name="dbe">DbException object</param>
        /// <returns>True if dbException is a primary key violation</returns>
        public override bool IsPrimaryKeyViolation(DbException dbException)
        {
            OracleException oracleException = (OracleException)dbException;

            if (oracleException.ErrorCode == OracleDb.Constants.DBError_UniqueConstraintViolation)
            {
                return(true);
            }
            return(false);
        }
Esempio n. 22
0
        public override bool IsPrimaryKeyViolation(Exception Error)
        {
            OracleException error = Error as OracleException;

            if (error != null && error.Code == 2627)
            {
                return(true);
            }
            return(false);
        }
        public OracleExceptionHandler(OracleException exception)
        {
            var messageMatch = Regex.Match(exception.Message, @"(?<=ORA-20201: ).*");
            var message      = messageMatch.Value;

            Title  = exception.ErrorCode.ToString();
            Type   = exception.HelpLink;
            Status = StatusCodes.Status500InternalServerError;
            Detail = message.Length > 0 ? message : "Nie można wykonać tej operacji z powodu błędu serwera.";
        }
Esempio n. 24
0
        static public esConcurrencyException CheckForConcurrencyException(OracleException ex)
        {
            esConcurrencyException ce = null;

            if (ex.ErrorCode == 20101)
            {
                ce        = new esConcurrencyException(ex.Message, ex);
                ce.Source = ex.Source;
            }

            return(ce);
        }
Esempio n. 25
0
        internal void Disconnect(OracleException exception)
        {
            OracleSchemaResolver.Unregister(this);

            if (!_isInitialized)
            {
                return;
            }

            _isInitialized = false;

            Disconnected?.Invoke(this, new DatabaseModelConnectionErrorArgs(exception));
        }
Esempio n. 26
0
        private void ErrorMessage(OracleException Ex)
        {
            switch (Ex.Number)
            {
            case 2292:
                MessageBox.Show("Le livre à déjà été louer", "Erreur 2292", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;

            default:
                MessageBox.Show("Une erreur non-gerer est survenue : " + Ex.Number.ToString() + ":" + Ex.Message.ToString(), Ex.Number.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;
            }
        }
        public MDBCommand(string cmdText, MDBConnection m_mdbCnn)
        {
            try
            {
#if POSTGRESQL
                cmdText                 = cmdText.Replace("to_date", "to_timestamp");
                this.commandText        = cmdText;
                this.cnn                = m_mdbCnn.con;
                this.cmd                = new NpgsqlCommand(this.commandText, m_mdbCnn.con);
                this.cmd.CommandType    = CommandType.Text;
                this.cmd.CommandTimeout = 30;
#elif ORACLE
                string s_Text = cmdText.Trim().Trim(';');
                s_Text = s_Text.Trim('\n');
                s_Text = s_Text.Trim('\r');
                s_Text = s_Text.Trim('\n');
                s_Text = s_Text.Trim(';');
                string[] sText = s_Text.Split(';');
                if (sText.Length > 1)
                {
                    cmdText = "begin\n" + s_Text + ";\n" + "end;\n";
                }
                else
                {
                    cmdText = s_Text;
                }
                this.commandText        = cmdText;
                this.cnn                = m_mdbCnn.con;
                this.cmd                = new OracleCommand(this.commandText, m_mdbCnn.con);
                this.cmd.CommandType    = CommandType.Text;
                this.cmd.CommandTimeout = 30;
#elif SQLSERVER
                this.commandText        = cmdText;
                this.cnn                = m_mdbCnn.con;
                this.cmd                = new SqlCommand(this.commandText, m_mdbCnn.con);
                this.cmd.CommandType    = CommandType.Text;
                this.cmd.CommandTimeout = 30;
#endif
            }
            catch (Exception exception)
            {
#if POSTGRESQL
                throw new MDBException(exception, exception.Message);
#elif ORACLE
                OracleException ex = exception as OracleException;
                throw new MDBException(exception, this.commandText, ex.Number);
#elif SQLSERVER
                throw new MDBException(exception, exception.Message);
#endif
            }
        }
        public int ExecuteNonQuery()
        {
            int i_Val = 0;

            try
            {
                i_Val = this.cmd.ExecuteNonQuery();
            }
#if POSTGRESQL
            catch (Exception e)
            {
                if (e.Message.Contains("An existing connection was forcibly closed by the remote host.") || e.Message.Contains("The Connection is broken.") ||
                    e.Message.Contains("Failed to establish a connection") || e.Message.Contains("the database system is starting up") ||
                    e.Message.Contains(" the database system is starting up"))
                {
                    i_Val = 999;
                }
                else
                {
                    i_Val = -1;
                }
                throw new MDBException(e, e.Message, i_Val);
            }
#elif ORACLE
            catch (OracleException e)
            {
                OracleException ex = e as OracleException;
                i_Val = ex.Number;
                throw new MDBException(e, this.commandText, ex.Number);
            }
#elif SQLSERVER
            catch (Exception e)
            {
                if (e.Message.Contains("An existing connection was forcibly closed by the remote host.") || e.Message.Contains("The Connection is broken.") ||
                    e.Message.Contains("Failed to establish a connection") || e.Message.Contains("the database system is starting up") ||
                    e.Message.Contains(" the database system is starting up"))
                {
                    i_Val = 999;
                }
                else
                {
                    i_Val = -1;
                }
                throw new MDBException(e, e.Message, i_Val);
            }
#endif
            finally { }
            return(i_Val);
        }
        public void Update(DataTable tbl)
        {
            try
            {
                this.adapter.Update(tbl);
            }
            catch (Exception exception)
            {
#if POSTGRESQL
                throw new MDBException(exception, exception.Message);
#else
                OracleException ex = (OracleException)exception;
                throw new MDBException(exception, exception.Message, ex.Number);
#endif
            }
        }
        public void Update(DataSet ds, string tableName)
        {
            try
            {
                this.adapter.Update(ds, tableName);
            }
            catch (Exception exception)
            {
#if POSTGRESQL
                throw new MDBException(exception, exception.Message);
#else
                OracleException ex = (OracleException)exception;
                throw new MDBException(exception, exception.Message, ex.Number);
#endif
            }
        }
Esempio n. 31
0
 public static void ErrorMessage(OracleException Ex)
 {
     switch (Ex.Number)
     {
         case 1017:
             Console.WriteLine("*Erreur Usager/Mot de passe");
             break;
         case 12170:
             Console.WriteLine("Erreur 12170:La base de données est indisponible,réessayer plus tard");
             break;
         case 12543:
             Console.WriteLine("Erreur 12543:Connexion impossible,Vérifiez votre connection internet");
             break;
         default: Console.WriteLine(Ex.Message.ToString());
             break;
     }
 }
        public OracleDataStoreException(OracleException ex, OracleCommand cmd)
            : base("", ex)
        {
            StringBuilder sb = new StringBuilder();
            if (ex.Number == 24381)
            {
                // error(s) in array DML
                // See http://docs.oracle.com/html/B14164_01/featOraCommand.htm
                foreach (var error in ex.Errors.OfType<OracleError>())
                {
                    sb.AppendFormat("Array Bind Error {0} occured at Row Number {1}", error.Message, error.ArrayBindIndex);
                    sb.AppendLine();
                }
            }
            else
            {
                foreach (var error in ex.Errors.OfType<OracleError>())
                {
                    sb.AppendLine(error.Message);
                }
            }
            #if DEBUG
            if (cmd != null)
            {
                sb.AppendLine("Additional Debug Mode Information");
                sb.AppendLine(cmd.CommandText);
                foreach (OracleParameter param in cmd.Parameters)
                {
                    sb.AppendFormat("{0} ({1} {2}: *{3}*)", param.ParameterName, param.Direction, param.OracleDbType, param.Value);
                    sb.AppendLine();
                }
            }
            #endif

            _message = sb.ToString();

            var ev = new OracleDataStoreErrorEvent("OracleDataStoreException is being raised", cmd, this);
            ev.Raise();
        }
Esempio n. 33
0
 private static FrameworkException FormatException(OracleException ex, IDbCommand command)
 {
     return new FrameworkException("Error executing command: " + ex.Message + Environment.NewLine + command.CommandText, ex);
 }
Esempio n. 34
0
 /// <summary>
 /// This Method determines if exception due to conn failure/DB operation
 /// </summary>
 /// <param name="Ex"> Exception </param>
 /// <returns>Error Code</returns>
 /// 
 private string ExpType(OracleException Ex)
 {
     foreach (int ErrNo in PST_Constants.dbstatusFlags)
     {
         if (Ex.ErrorCode.Equals(ErrNo))
         {
             return "101";
         }
     }
     return "102";
 }
Esempio n. 35
0
    /* [WebMethod]
    public ts_UpdateOutputEntity updateTimesheetEntry_New(ts_InputEntity TS_Input)
    {
        logger.Info("Method : updateTimesheetEntry Start");

        List<ts_UpdateInputEntity> IS_Entry_List = TS_Input.obj;
        ts_UpdateInputEntity[] TS_Entry = IS_Entry_List.Cast<ts_UpdateInputEntity>().ToArray();

        logger.Debug("Method : updateTimesheetEntry Transaction ID value : " + TS_Entry[0].TransactionID.ToString());

        ts_UpdateOutputEntity result = new ts_UpdateOutputEntity();
        try
        {
            timesheetInterface updateTS_IS = new timesheetInterface();
            result = updateTS_IS.updateTimesheetEntry_SI(TS_Entry);

            logger.Info("Method : updateTimesheetEntry Stop");

            return result;

        }
        catch (OracleException ex)
        {
            logger.Fatal("Database Exception At Web Method : updateTimesheetEntry" + ex.Message.ToString());

            ThrowSoapException soapExp = new ThrowSoapException();
            soapExp.EmailException(ex);
            //soapExp.convertToSoapException(ex);
            string ErrorMsg = ((NameValueCollection)System.Configuration.ConfigurationManager.GetSection("ErrorMessage"))["101"];
            result.StatusFlag = 1;
            result.Message = ErrorMsg;

            logger.Debug("Return object Error : ErrorCode = " + result.StatusFlag.ToString());
            logger.Debug("Return object Error : ErrorMessage = " + result.Message);
            logger.Error("Method : updateTimesheetEntry Stop");

            return result;

        }
        catch (Exception ex)
        {
            logger.Fatal("Exception At Web Method : updateTimesheetEntry" + ex.Message.ToString());

            ThrowSoapException soapExp = new ThrowSoapException();
            soapExp.EmailException(ex);
            //soapExp.convertToSoapException(ex);

            result.StatusFlag = 1;
            result.Message = "ERROR";

            logger.Debug("Return object Error : ErrorCode = " + result.StatusFlag.ToString());
            logger.Debug("Return object Error : ErrorMessage = " + result.Message);
            logger.Error("Method : updateTimesheetEntry Stop");

            return result;
        }

    }*/
    /// <summary>
    /// This Method determines if exception due to conn failure/DB operation
    /// </summary>
    /// <param name="Ex"> Exception </param>
    /// <returns>Error Code</returns>
    /// 
    private string ExpType(OracleException Ex)
    {
        foreach (int ErrNo in timesheet_Constants.dbErrorCodes)
        {
            if (Ex.Code.Equals(ErrNo))
            {
                return "101";
            }
        }
        return "102";
    }
Esempio n. 36
0
 /// <summary>
 /// Logs an Oracle exception to the event log.
 /// </summary>
 /// <param name="e">The exception to log.</param>
 /// <param name="log">The event log to log the execption to.</param>
 /// <returns>True if the exception was logged successfully. False otherwise.</returns>
 protected bool LogException(OracleException e, EventLog.EventLog log)
 {
     if (log != null)
     {
         log.Log(new Event(typeof(OracleUtility).FullName, DateTime.Now, Event.SeverityLevels.Error, e.GetType().FullName,
             "Number:\n" +
             e.Number + "\n" +
             "Description:\n" +
             e.Message + "\n" +
             "Stack Trace:\n" +
             e.StackTrace));
         return true;
     }
     else
     {
         return false;
     }
 }
Esempio n. 37
0
		private bool TryHandleConnectionTerminatedError(OracleException exception)
		{
			var errorCode = (OracleErrorCode)exception.Number;
			if (!errorCode.In(OracleErrorCode.EndOfFileOnCommunicationChannel, OracleErrorCode.NotConnectedToOracle, OracleErrorCode.TnsPacketWriterFailure, OracleErrorCode.SessionTerminatedByDebugger, OracleErrorCode.UnableToSendBreak))
			{
				return false;
			}

			InitializeUserConnection();

			_userTraceFileName = String.Empty;

			lock (_activeTraceEvents)
			{
				_activeTraceEvents.Clear();
			}

			_databaseModel.Disconnect(exception);
			_userTransaction = null;
			_userSessionIdentifier = null;
			return true;
		}
Esempio n. 38
0
        private static string ReportSqlErrors(OracleException ex)
        {
            StringBuilder sb = new StringBuilder();

            OracleError[] errors = new OracleError[ex.Errors.Count];
            ex.Errors.CopyTo(errors, 0);
            foreach (var err in errors)
            {
                sb.Append(err.Message);
                sb.Append(", ErrorNumber ").Append(err.Number);
                if (!string.IsNullOrEmpty(err.Procedure))
                    sb.Append(", Procedure ").Append(err.Procedure);
                if (!string.IsNullOrEmpty(err.Source))
                    sb.Append(", Source: ").Append(err.Source);
                sb.AppendLine();
            }

            return sb.ToString();
        }
Esempio n. 39
0
 public SqlResult(OracleException exception)
 {
     this.exception = exception;
 }