private static void logging_open_db(DbConnection conn) { string s = ConnectionStringToLog(conn.ConnectionString); Logging.Logg().Debug(MessageDbOpen + " (" + s + ")", Logging.INDEX_MESSAGE.NOT_SET, true); }
public ConnectionSettingsError Validate() { try { IPAddress ip; ip = IPAddress.Parse(server); if (IPAddress.TryParse(server, out ip) == false) { //MessageBox.Show("Неправильный ip-адрес.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return ConnectionSettingsError.WrongIp; } } catch (Exception e) { Logging.Logg().Exception(e, @"ConnectionSettings::Validate() - ..."); } if (port > 65535) { //MessageBox.Show("Порт должен лежать в пределах [0:65535].", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return ConnectionSettingsError.WrongPort; } if (dbName == "") { //MessageBox.Show("Не задано имя базы данных.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return ConnectionSettingsError.WrongDbName; } if (dbName.IndexOf('\'') >= 0 || dbName.IndexOf('\"') >= 0 || dbName.IndexOf('\\') >= 0 || dbName.IndexOf('/') >= 0 || dbName.IndexOf('?') >= 0 || dbName.IndexOf('<') >= 0 || dbName.IndexOf('>') >= 0 || dbName.IndexOf('*') >= 0 || dbName.IndexOf('|') >= 0 || dbName.IndexOf(':') >= 0 || dbName.IndexOf(';') >= 0) { //MessageBox.Show("Недопустимый символ в имени базы.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return ConnectionSettingsError.IllegalSymbolDbName; } if (userName.IndexOf('\'') >= 0 || userName.IndexOf('\"') >= 0 || userName.IndexOf('\\') >= 0 || userName.IndexOf('/') >= 0 || userName.IndexOf('?') >= 0 || userName.IndexOf('<') >= 0 || userName.IndexOf('>') >= 0 || userName.IndexOf('*') >= 0 || userName.IndexOf('|') >= 0 || userName.IndexOf(':') >= 0 || userName.IndexOf(';') >= 0) { //MessageBox.Show("Недопустимый символ в имени пользователя.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return ConnectionSettingsError.IllegalSymbolUserName; } if (password.IndexOf('\'') >= 0 || password.IndexOf('\"') >= 0 || password.IndexOf('\\') >= 0 || password.IndexOf('/') >= 0 || password.IndexOf('?') >= 0 || password.IndexOf('<') >= 0 || password.IndexOf('>') >= 0 || password.IndexOf('*') >= 0 || password.IndexOf('|') >= 0 || password.IndexOf(':') >= 0 || password.IndexOf(';') >= 0) { //MessageBox.Show("Недопустимый символ в пароле пользователя.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return ConnectionSettingsError.IllegalSymbolPassword; } //if (DbTSQLInterface.Select(this, "SELECT * FROM TEC_LIST").Rows.Count > 0) // return ConnectionSettingsError.NotConnect; //else // ; return ConnectionSettingsError.NoError; }
private static void logging_close_db(DbConnection conn) { string s = ConnectionStringToLog(conn.ConnectionString); Logging.Logg().Debug(MessageDbClose + " (" + s + ")", Logging.INDEX_MESSAGE.NOT_SET); }
private void DbInterface_ThreadFunction(object data) { object request; bool result; bool reconnection /* = false*/; while (threadIsWorking) { sem.WaitOne(); lock (lockConnectionSettings) // атомарно читаю и сбрасываю флаг, чтобы при параллельной смене настроек не сбросить повторно выставленный флаг { reconnection = needReconnect; needReconnect = false; } if (reconnection == true) { Disconnect(); connected = false; if ((threadIsWorking == true) && (Connect() == true)) { connected = true; } else { needReconnect = true; // выставлять флаг можно без блокировки } } else { ; } if (connected == false) // не удалось подключиться - не пытаемся получить данные { continue; } else { ; } //Logging.Logg().Debug("DbInterface::DbInterface_ThreadFunction () - m_listListeners.Count = " + m_listListeners.Count); lock (lockListeners) { foreach (KeyValuePair <int, DbInterfaceListener> pair in m_dictListeners) { //lock (lockListeners) //{ if (pair.Value.listenerActive == false) { continue; } else { ; } request = pair.Value.requestDB; if ((request == null) || (!(request.ToString().Length > 0))) { continue; } else { ; } //} //Logging.Logg().Debug("DbInterface::DbInterface_ThreadFunction () - GetData(...) - request = " + request); try { result = GetData(pair.Value.dataTable, request); } catch (DbException e) { Logging.Logg().Exception(e, Logging.INDEX_MESSAGE.NOT_SET, "DbInterface::DbInterface_ThreadFunction () - result = GetData(...) - request = " + request); result = false; } //Logging.Logg().Debug("DbInterface::DbInterface_ThreadFunction () - result = GetData(...) - result = " + result); //lock (lockListeners) //{ if (pair.Value.listenerActive == false) { continue; } else { ; } //Logging.Logg().Debug("DbInterface::DbInterface_ThreadFunction () - result = GetData(...) - pair.Value.listenerActive = " + pair.Value.listenerActive); if (request == pair.Value.requestDB) { pair.Value.dataPresent = result; pair.Value.dataError = !result; //if (result == true) //{ // pair.Value.dataPresent = true; //} //else //{ // pair.Value.dataError = true; //} pair.Value.requestDB = null; } else { ; } //Logging.Logg().Debug("DbInterface::DbInterface_ThreadFunction () - result = GetData(...) - pair.Value.dataPresent = " + pair.Value.dataPresent + @", pair.Value.dataError = " + pair.Value.dataError.ToString ()); //} } } } try { if (!(WaitHandle.WaitAny(new WaitHandle[] { sem }, 0) == 0)) { sem.Release(1); } else { ; } } catch (Exception e) { Logging.Logg().Exception(e, Logging.INDEX_MESSAGE.NOT_SET, "DbInterface::DbInterface_ThreadFunction () - выход..."); } Disconnect(); }