private void HandleException(MySqlException ex) { if (ex.IsFatal) { owner.Close(); } }
private DbException HandleUniqueException(string message, MySqlException dataException) { var entry = string.Empty; var key = string.Empty; var findEntry = Regex.Match(dataException.Message, "'.*?'"); if (findEntry.Success) { entry = findEntry.Value; key = dataException.Message.Replace("Duplicate entry {0} for key".Fi(entry), "").Trim(); } return new DbException(message, dataException) { IsDuplicateKeyViolation = true, ErrorNumber = dataException.Number, KeyName = key.Replace("'", ""), KeyValue = entry.Replace("'", "") }; }
protected virtual void Dispose(bool disposing) { if (disposed) { return; } // Avoid cyclic calls to Dispose. disposed = true; try { ResetTimeout(1000); handler.Close(IsOpen); // if we are pooling, then release ourselves if (ConnectionString.Pooling) { MySqlPoolManager.RemoveConnection(this); } } catch (Exception ex) { if (disposing) { MySqlException mysqlEx = ex as MySqlException; if (mysqlEx == null) { MySqlTrace.LogError(0, ex.GetBaseException().Message); } else { MySqlTrace.LogError(mysqlEx.Number, ex.GetBaseException().Message); } } } finally { reader = null; IsOpen = false; } }
protected virtual void Dispose(bool disposing) { if (this.disposed) { return; } this.disposed = true; try { this.ResetTimeout(1000); this.handler.Close(this.isOpen); if (this.connectionString.Pooling) { MySqlPoolManager.RemoveConnection(this); } } catch (Exception ex2) { if (disposing) { MySqlException ex = ex2 as MySqlException; if (ex == null) { MySqlTrace.LogError(0, ex2.GetBaseException().Message); } else { MySqlTrace.LogError(ex.Number, ex2.GetBaseException().Message); } } } finally { this.reader = null; this.isOpen = false; } }
private void PrintMySQLDBException(MySqlException ex) { //When handling errors, you can your application's response based //on the error number. //The two most common error numbers when connecting are as follows: //0: Cannot connect to server. //1045: Invalid user name and/or password. switch (ex.Number) { case 0: if (bMessageBoxShow) { MessageBox.Show("Cannot connect to server. Contact administrator"); } bMessageBoxShow = false; break; case 1040: if (bMessageBoxShow) { MessageBox.Show("Too many connections to DB"); } bMessageBoxShow = false; break; case 1045: if (bMessageBoxShow) { MessageBox.Show("Invalid username/password, please try again"); } bMessageBoxShow = false; break; default: mySave.InsertRow((int)Definition.Message.D_ALARM, " MySQL-Exception number:" + ex.Number + "\r\n" + ex.ToString()); Console.WriteLine(" MySQL-Exception number:" + ex.Number + "\r\n" + ex.ToString()); break; } }
private void Crash(MySqlException m, bool logerror, bool c = false) { if(c) { _crash = true; Log.Error("MySql", sLConsole.GetString("Query error: {0}"), m.Message); Log.Warning("MySql", sLConsole.GetString("Program shutting down!")); SchumixBase.Quit(false); foreach(var nw in INetwork.WriterList) { if(!nw.Value.IsNull()) nw.Value.WriteLine("QUIT :Sql connection crash."); } Thread.Sleep(1000); sRuntime.Exit(); } if(m.Message.Contains("Fatal error encountered during command execution.")) { _crash = true; Log.Error("MySql", sLConsole.GetString("Query error: {0}"), m.Message); Log.Warning("MySql", sLConsole.GetString("Program shutting down!")); SchumixBase.Quit(false); foreach(var nw in INetwork.WriterList) { if(!nw.Value.IsNull()) nw.Value.WriteLine("QUIT :Sql connection crash."); } Thread.Sleep(1000); sRuntime.Exit(); } if(m.Message.Contains("Timeout expired.")) { _crash = true; Log.Error("MySql", sLConsole.GetString("Query error: {0}"), m.Message); Log.Warning("MySql", sLConsole.GetString("Program shutting down!")); SchumixBase.Quit(false); foreach(var nw in INetwork.WriterList) { if(!nw.Value.IsNull()) nw.Value.WriteLine("QUIT :Sql connection timeout."); } Thread.Sleep(1000); sRuntime.Exit(); } if(m.Message.Contains("Unable to connect to any of the specified MySQL hosts.")) { _crash = true; Log.Error("MySql", sLConsole.GetString("Query error: {0}"), m.Message); Log.Warning("MySql", sLConsole.GetString("Program shutting down!")); SchumixBase.Quit(false); foreach(var nw in INetwork.WriterList) { if(!nw.Value.IsNull()) nw.Value.WriteLine("QUIT :Sql connection timeout."); } Thread.Sleep(1000); sRuntime.Exit(); } if(logerror) Log.Error("MySql", sLConsole.GetString("Query error: {0}"), m.Message); }
private void HandleException(MySqlException ex) { if (ex.IsFatal) owner.Close(); }
public bool IsConnectionOkay() { var okay = true; try { MySqlConnection conn = new MySqlConnection(MySqlConnectionString); conn.Open(); } catch (MySqlException ex) { okay = false; this.MySqlException = ex; } return okay; }
public bool testConfigConnectionString(ref MySqlException returnEx) { try { conn.ConnectionString = configFileConnectionString; conn.Open(); conn.Close(); return true; } catch (MySql.Data.MySqlClient.MySqlException ex) { returnEx = ex; return false; } }
// // WriteToEventLog // A helper function that writes exception detail to the event log. Exceptions // are written to the event log as a security measure to avoid private database // details from being returned to the browser. If a method does not return a status // or boolean indicating the action succeeded or failed, a generic exception is also // thrown by the caller. // private void WriteToEventLog(MySqlException 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); }
private void Crash(MySqlException m, bool logerror) { if(logerror) throw new CDatabaseException(string.Format(sLConsole.MySql("Text2"), m.Message)); }
void connectError(MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); }
private void WriteToEventLog(MySqlException e, string action) { EventLog log = new EventLog(); log.Source = eventSource; log.Log = eventLog; string message = exceptionMessage + Environment.NewLine + Environment.NewLine; message += "Action: " + action + Environment.NewLine + Environment.NewLine; message += "Exception: " + e; log.WriteEntry(message); }
private static void HandleException(MySqlException mySqlException) { MySqlErrorCode errorCode; if (!Enum.TryParse(mySqlException.Number.ToString(), false, out errorCode)) { Debug.WriteLine("Unable to parse exception: " + mySqlException.Message); } if (errorCode == MySqlErrorCode.DatabaseAccessDenied) { throw new DatabaseAccessDeniedExcpetion("Error-Code: " + errorCode); } if (errorCode == MySqlErrorCode.UnableToConnectToHost) { MessageBox.Show("Unable to reach server"); return; } Debug.WriteLine("MySqlException: " + errorCode + "\tMessage: " + mySqlException.Message + "\tInner-Exception " + mySqlException.InnerException?.Message); }
public bool executeNonQueryCommand(string sqlCommand, ref MySqlException returnEx) { bool retVal = true; //myConnectionString = Properties.Settings.Default.connectionString; int temp; try { myTransCommand.CommandText = sqlCommand; if (myTransCommand.Connection.State.ToString() != "Open") myTransCommand.Connection.Open(); temp = myTransCommand.ExecuteNonQuery(); retVal = true; } catch (MySql.Data.MySqlClient.MySqlException ex) { retVal = false; returnEx = ex; } return retVal; }
public static tgConcurrencyException CheckForConcurrencyException(MySqlException ex) { tgConcurrencyException ce = null; if (ex != null) { if (ex.Number == 532) { ce = new tgConcurrencyException(ex.Message, ex); ce.Source = ex.Source; } } return ce; }
public void rollBack(ref MySqlException returnEx) { try { myTrans.Rollback(); } catch (MySql.Data.MySqlClient.MySqlException ex) { returnEx = ex; } }
private BaseDatosException LanzarExcepcion(MySqlException exc) { switch (exc.Number) { case 1042: return new BaseDatosSinConexionException(exc.Message); } return new BaseDatosException(exc.Message); }
public void errorWriter(MySqlException oMySQLException) { TheLogger.Log("ExecSql Error in " + oMySQLException.TargetSite + " due to : " + oMySQLException.Message + "\n"); string errorText = oMySQLException.ToString(); errorWriter(errorText); }
/// <summary> /// Handles MySql exception. /// If WriteExceptionsToEventLog is set, will write exception info /// to event log. /// It throws provider exception (original exception is stored as inner exception) /// </summary> /// <param name="e">exception</param> /// <param name="action"> name of the function that throwed the exception</param> private void HandleMySqlException(MySqlException e, string action) { if (WriteExceptionsToEventLog) { using (EventLog log = new EventLog()) { log.Source = eventSource; log.Log = eventLog; string message = "An exception occurred communicating with the data source.\n\n"; message += "Action: " + action; message += "Exception: " + e.ToString(); log.WriteEntry(message); } } throw new ProviderException(exceptionMessage, e); }
/// <summary> /// Turns all MySqlExceptions into DBExceptions. /// Error Codes: http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html /// </summary> /// <param Name="ex">A MySqlException to handle.</param> private void handleException(MySqlException ex) { //Console.WriteLine("ex.number:" + ex.Number); switch (ex.Number) { case 0: //throw new DBException(ex.Message + ex.Number, ex); throw new WrongCredentialsException(ex.Message, ex); case 1042: throw new NoConnectionExpection(ex.Message, ex); case 1045: throw new UnauthorizedAccessException(ex.Message, ex); default: throw new DBException(ex.Message + ex.Number, ex); } }
//Loggers #region MysqlLogger private void MySqlLogger(MySqlException me, string SqlQuery) { FileInfo t = new FileInfo("SqlError.log"); if (t.Exists == true) { TextWriter tex = new StreamWriter(t.OpenWrite()); tex.WriteLine("Date/Time: " + DateTime.Now.ToString()); tex.WriteLine(" "); tex.WriteLine("Sql String: " + SqlQuery); tex.WriteLine(" "); tex.WriteLine("Sql Error: "); tex.WriteLine(me); tex.Write(tex.NewLine); tex.Flush(); tex.Close(); tex = null; t = null; } else { StreamWriter sw = t.CreateText(); sw.WriteLine("Date/Time: " + DateTime.Now.ToString()); sw.WriteLine(" "); sw.WriteLine("Sql String: " + SqlQuery); sw.WriteLine(" "); sw.WriteLine("Sql Error: "); sw.WriteLine(me); sw.Write(sw.NewLine); sw.Flush(); sw.Close(); sw = null; t = null; } }
/// <summary> /// Handle Non Fatal SQL Query Exception /// </summary> /// <param name="sqle">SQL Excepiton</param> /// <returns>True if handled, False otherwise</returns> protected static bool HandleSQLException(MySqlException sqle) { switch ((MySqlErrorCode)sqle.Number) { case MySqlErrorCode.DuplicateUnique: case MySqlErrorCode.DuplicateKeyEntry: return true; default: return false; } }