ToString() public method

public ToString ( ) : string
return string
Example #1
1
        /// <summary>
        ///   function to translate sql exceptions to readable messages. 
        ///   It also captures cases where sql server is not available and guards against
        ///   database connection details being leaked
        /// </summary>
        /// <param name = "exc"></param>
        /// <returns></returns>
        /// <remarks>
        /// </remarks>
        public static string TranslateSQLException(SqlException exc)
        {
            int i = 0;
            var errorMessages = new StringBuilder();
            for (i = 0; i <= exc.Errors.Count - 1; i++)
            {
                SqlError sqlError = exc.Errors[i];
                string filteredMessage = string.Empty;
                switch (sqlError.Number)
                {
                    case 17:
                        filteredMessage = "Sql server does not exist or access denied";
                        break;
                    case 4060:
                        filteredMessage = "Invalid Database";
                        break;
                    case 18456:
                        filteredMessage = "Sql login failed";
                        break;
                    case 1205:
                        filteredMessage = "Sql deadlock victim";
                        break;
                    default:
                        filteredMessage = exc.ToString();
                        break;
                }

                errorMessages.Append("<b>Index #:</b> " + i + "<br/>" + "<b>Source:</b> " + sqlError.Source + "<br/>" + "<b>Class:</b> " + sqlError.Class + "<br/>" + "<b>Number:</b> " +
                                     sqlError.Number + "<br/>" + "<b>Procedure:</b> " + sqlError.Procedure + "<br/>" + "<b>Message:</b> " + filteredMessage + "<br/>");
            }
            return errorMessages.ToString();
        }
Example #2
0
        private static bool CheckErrorCanRetry(System.Data.SqlClient.SqlException e)
        {
            bool   CanRetry = false;
            string TempMsg  = e.ToString().ToLower();

            if (e.Number == 11) //general network error
            {
                CanRetry = true;
            }
            else if (e.Number == 17) //sql server does not exist or access denied
            {
                CanRetry = true;
            }
            else if (e.Number == -2) //timeout expired
            {
                CanRetry = true;
            }
            else if (e.Number == 1205) //deadlocked on lock
            {
                CanRetry = true;
            }
            else if (TempMsg.IndexOf("逾時") > 0)
            {
                CanRetry = true;
            }
            else if (TempMsg.IndexOf("timeout expired") > 0)
            {
                CanRetry = true;
            }
            else if (TempMsg.IndexOf("一般性網路") > 0)
            {
                CanRetry = true;
            }
            else if (TempMsg.IndexOf("一般網路") > 0)
            {
                CanRetry = true;
            }
            else if (TempMsg.IndexOf("general network error") > 0)
            {
                CanRetry = true;
            }
            else if (TempMsg.IndexOf("不存在或拒絕存取") > 0)
            {
                CanRetry = true;
            }
            else if (TempMsg.IndexOf("sql server does not exist") > 0)
            {
                CanRetry = true;
            }
            return(CanRetry);
        }
    private void WriteToEventLog(SqlException e, string action)
    {
        EventLog log = new EventLog();
            log.Source = eventSource;
            log.Log = eventLog;

            string message = exceptionMessage + "\n\n";
            message += "Action: " + action + "\n\n";
            message += "Exception: " + e.ToString();

            log.WriteEntry(message);
    }
Example #4
0
        public static void LogException(SqlException exception)
        {
            if (exception != null)
            {
                Debug.Print(exception.ToString());
                Logger.Error(exception.ToString());

                try
                {
                    /* All SQL errors must be logged */
                    var error = new VLogServerSideSqlError(exception);

                    if (VLog.OnCommitExceptionToServerRepository != null)
                    {
                        VLog.OnCommitExceptionToServerRepository(error);
                    }
                }
                catch (Exception ex)
                {
                    // IMPORTANT! We swallow any exception raised during the
                    // logging and send them out to the trace . The idea
                    // here is that logging of exceptions by itself should not
                    // be  critical to the overall operation of the application.
                    // The bad thing is that we catch ANY kind of exception,
                    // even system ones and potentially let them slip by.
                    Logger.Error(ex.ToString());
                    Debug.Print(ex.Message);
                }
            }
        }
Example #5
0
 /// <summary>
 /// Internals the handle.
 /// </summary>
 /// <param name="ex">The executable.</param>
 /// <returns></returns>
 private ErrorAction InternalHandle(SqlException ex)
 {
     return new ErrorAction(ErrorActionType.Retry, -2147220970, ex.ToString());
 }