diff --git a/MarketDataLib/Utility/SQLUtils.cs b/MarketDataLib/Utility/SQLUtils.cs
index 943bc82..ec97694 100644
--- a/MarketDataLib/Utility/SQLUtils.cs
+++ b/MarketDataLib/Utility/SQLUtils.cs
@@ -25,32 +25,35 @@ namespace MarketData.Utils
/// SqlConnection or null on error.
public static MySqlConnection CreateMySqlConnection(string datasource,string port,string database,string username,string password)
{
- try
+ lock(typeof(SqlUtils))
{
- String connectionString=null;
- StringBuilder sb=new StringBuilder();
- sb.Append("server=").Append(datasource).Append("; ");
- sb.Append("user id=").Append(username).Append("; ");
- sb.Append("password=").Append(password).Append("; ");
- sb.Append("database=").Append(database).Append("; ");
- sb.Append("SslMode=").Append("None").Append("; ");
- sb.Append("pooling=").Append("true").Append(";");
- sb.Append("MinimumPoolSize=").Append(MIN_POOL_SIZE).Append(";");
- sb.Append("MaximumPoolSize=").Append(MAX_POOL_SIZE).Append(";");
- sb.Append("allow user variables=").Append("true").Append("; ");
- sb.Append("default command timeout=").Append("300").Append("; ");
- sb.Append("connect timeout=").Append("300").Append(";");
- sb.Append("charset=").Append("utf8mb4").Append(" ");
- connectionString=sb.ToString();
- MySqlConnection connection=new MySqlConnection(connectionString);
- connection.Open();
- //SetConnectionCollation(connection);
- return connection;
- }
- catch(SqlException exception)
- {
- MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString());
- return null;
+ try
+ {
+ String connectionString=null;
+ StringBuilder sb=new StringBuilder();
+ sb.Append("server=").Append(datasource).Append("; ");
+ sb.Append("user id=").Append(username).Append("; ");
+ sb.Append("password=").Append(password).Append("; ");
+ sb.Append("database=").Append(database).Append("; ");
+ sb.Append("SslMode=").Append("None").Append("; ");
+ sb.Append("pooling=").Append("true").Append(";");
+ sb.Append("MinimumPoolSize=").Append(MIN_POOL_SIZE).Append(";");
+ sb.Append("MaximumPoolSize=").Append(MAX_POOL_SIZE).Append(";");
+ sb.Append("allow user variables=").Append("true").Append("; ");
+ sb.Append("default command timeout=").Append("300").Append("; ");
+ sb.Append("connect timeout=").Append("300").Append(";");
+ sb.Append("charset=").Append("utf8mb4").Append(" ");
+ connectionString=sb.ToString();
+ MySqlConnection connection=new MySqlConnection(connectionString);
+ connection.Open();
+ //SetConnectionCollation(connection);
+ return connection;
+ }
+ catch(SqlException exception)
+ {
+ MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString());
+ return null;
+ }
}
}
/// CreateSqlConnection - Creates an SQL connection.
@@ -58,51 +61,37 @@ namespace MarketData.Utils
/// SqlConnection or null on error.
public static MySqlConnection CreateMySqlConnection(DataSourceEx datasource)
{
- try
+ lock(typeof(SqlUtils))
{
- String connectionString=null;
- StringBuilder sb=new StringBuilder();
- sb.Append("server=").Append(datasource.Datasource).Append("; ");
- sb.Append("user id=").Append(datasource.Username).Append("; ");
- sb.Append("password=").Append(datasource.Password).Append("; ");
- sb.Append("database=").Append(datasource.Database).Append("; ");
- sb.Append("SslMode=").Append("None").Append("; ");
- sb.Append("pooling=").Append("true").Append(";");
- sb.Append("allow user variables=").Append("true").Append("; ");
- sb.Append("default command timeout=").Append("300").Append("; ");
- sb.Append("connect timeout=").Append("300").Append(";");
- sb.Append("MinimumPoolSize=").Append(MIN_POOL_SIZE).Append(";");
- sb.Append("MaximumPoolSize=").Append(MAX_POOL_SIZE).Append(";");
- sb.Append("charset=").Append("utf8mb4").Append(" ");
- connectionString=sb.ToString();
- MySqlConnection connection=new MySqlConnection(connectionString);
- connection.Open();
- //SetConnectionCollation(connection);
- return connection;
- }
- catch(SqlException exception)
- {
- MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString());
- return null;
+ try
+ {
+ String connectionString=null;
+ StringBuilder sb=new StringBuilder();
+ sb.Append("server=").Append(datasource.Datasource).Append("; ");
+ sb.Append("user id=").Append(datasource.Username).Append("; ");
+ sb.Append("password=").Append(datasource.Password).Append("; ");
+ sb.Append("database=").Append(datasource.Database).Append("; ");
+ sb.Append("SslMode=").Append("None").Append("; ");
+ sb.Append("pooling=").Append("true").Append(";");
+ sb.Append("allow user variables=").Append("true").Append("; ");
+ sb.Append("default command timeout=").Append("300").Append("; ");
+ sb.Append("connect timeout=").Append("300").Append(";");
+ sb.Append("MinimumPoolSize=").Append(MIN_POOL_SIZE).Append(";");
+ sb.Append("MaximumPoolSize=").Append(MAX_POOL_SIZE).Append(";");
+ sb.Append("charset=").Append("utf8mb4").Append(" ");
+ connectionString=sb.ToString();
+ MySqlConnection connection=new MySqlConnection(connectionString);
+ connection.Open();
+ return connection;
+ }
+ catch(SqlException exception)
+ {
+ MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString());
+ return null;
+ }
}
}
-/// SetConnectionCollation - Set database connection collation. Have to do for MySql 8.0.33
-/// void.
- //public static void SetConnectionCollation(MySqlConnection sqlConnection)
- //{
- // MySqlCommand sqlCommand=null;
- // try
- // {
- // sqlCommand=sqlConnection.CreateCommand();
- // sqlCommand.CommandText="SET collation_connection='utf8mb4_general_ci';";
- // sqlCommand.ExecuteNonQuery();
- // sqlCommand.Dispose();
- // }
- // catch(Exception exception)
- // {
- // MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString());
- // }
- //}
+
public static String FormatDate(DateTime dateTime)
{
return Utility.DateTimeToStringYYYYHMMHDD(dateTime);