Core/Sql: missed .sql on full DB files. Added parameters to the log of sql errors
This commit is contained in:
@@ -51,10 +51,10 @@ namespace Framework.Database
|
|||||||
fileName = @"/sql/base/characters_database.sql";
|
fileName = @"/sql/base/characters_database.sql";
|
||||||
break;
|
break;
|
||||||
case "WorldDatabase":
|
case "WorldDatabase":
|
||||||
fileName = @"/sql/TDB_full_world_837.20101_2020_10_20";
|
fileName = @"/sql/TDB_full_world_837.20101_2020_10_20.sql";
|
||||||
break;
|
break;
|
||||||
case "HotfixDatabase":
|
case "HotfixDatabase":
|
||||||
fileName = @"/sql/TDB_full_hotfixes_837.20101_2020_10_20";
|
fileName = @"/sql/TDB_full_hotfixes_837.20101_2020_10_20.sql";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ namespace Framework.Database
|
|||||||
}
|
}
|
||||||
catch (MySqlException ex)
|
catch (MySqlException ex)
|
||||||
{
|
{
|
||||||
HandleMySQLException(ex, stmt.CommandText);
|
HandleMySQLException(ex, stmt.CommandText, stmt.Parameters);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -146,7 +146,7 @@ namespace Framework.Database
|
|||||||
}
|
}
|
||||||
catch (MySqlException ex)
|
catch (MySqlException ex)
|
||||||
{
|
{
|
||||||
HandleMySQLException(ex, stmt.CommandText);
|
HandleMySQLException(ex, stmt.CommandText, stmt.Parameters);
|
||||||
return new SQLResult();
|
return new SQLResult();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -296,12 +296,22 @@ namespace Framework.Database
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MySqlErrorCode HandleMySQLException(MySqlException ex, string query = "")
|
MySqlErrorCode HandleMySQLException(MySqlException ex, string query = "", Dictionary<int, object> parameters = null)
|
||||||
{
|
{
|
||||||
MySqlErrorCode code = (MySqlErrorCode)ex.Number;
|
MySqlErrorCode code = (MySqlErrorCode)ex.Number;
|
||||||
if (ex.InnerException is MySqlException)
|
if (ex.InnerException is MySqlException)
|
||||||
code = (MySqlErrorCode)((MySqlException)ex.InnerException).Number;
|
code = (MySqlErrorCode)((MySqlException)ex.InnerException).Number;
|
||||||
|
|
||||||
|
StringBuilder stringBuilder = new StringBuilder($"SqlException: MySqlErrorCode: {code} Message: {ex.Message} SqlQuery: {query} ");
|
||||||
|
if (parameters != null)
|
||||||
|
{
|
||||||
|
stringBuilder.Append("Parameters: ");
|
||||||
|
foreach (var pair in parameters)
|
||||||
|
stringBuilder.Append($"{pair.Key} : {pair.Value}");
|
||||||
|
}
|
||||||
|
|
||||||
|
Log.outError(LogFilter.Sql, stringBuilder.ToString());
|
||||||
|
|
||||||
switch (code)
|
switch (code)
|
||||||
{
|
{
|
||||||
case MySqlErrorCode.BadFieldError:
|
case MySqlErrorCode.BadFieldError:
|
||||||
@@ -313,7 +323,6 @@ namespace Framework.Database
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
Log.outError(LogFilter.Sql, $"SqlException: {ex.Message} SqlQuery: {query}");
|
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user