private static bool CheckConnection(DBConnectionData.ConnectionData connection_data) { var result = false; try { var connectionString = $"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={connection_data.Server})(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={connection_data.DataBase})));User Id={connection_data.Login};Password={connection_data.Password};"; var factory = DbProviderFactories.GetFactory("Oracle.ManagedDataAccess.Client"); using (var connection = factory.CreateConnection()) { if (connection == null) { throw new Exception($"{nameof(connection)} = null"); } connection.ConnectionString = connectionString; connection.Open(); if (connection.State == ConnectionState.Open) { connection.Close(); result = true; } } } catch (Exception ex) { AppLogAndEventHelper.Instance.RaiseError(ex); return(false); } return(result); }
private void ParsePayouts(FileInfo fi, DBConnectionData.ConnectionData connection_data) { using (var eh = new ExcelHelper(true)) { var r = new ExRange(eh, eh.OpenWorkbook(fi, "", false), 1, 1); var connectionString = $"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={connection_data.Server})(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={connection_data.DataBase})));User Id={connection_data.Login};Password={connection_data.Password};"; var factory = DbProviderFactories.GetFactory("Oracle.ManagedDataAccess.Client"); using (var connection = factory.CreateConnection()) { if (connection == null) { throw new Exception($"{nameof(connection)} = null"); } connection.ConnectionString = connectionString; connection.Open(); for (var row = 2; row < 10000 && !string.IsNullOrWhiteSpace(r.Move(row, 3).Value("")); row++) { try { var reciever = this.GetSubjectPayData(connection, factory, r.Move(row, 3).Value(""), r.Move(row, 4).Value("")); var payin = new PayManager.Payin( r.Move(row, 7).Value(""), r.Move(row, 5).Value(""), r.Move(row, 6).Value(DateTime.MinValue) ); var sum = r.Move(row, 10).Value(0d); var purpose = $"{r.Move(row, 9).Value("noname")} за {r.Move(row, 8).Value("noisin")} по {r.Move(row, 1).Value("nonumber")} від {r.Move(row, 2).Value(DateTime.MinValue)}"; this.payManager_.AddPayout(payin, ndu_, reciever, "", DateTime.Now, sum, purpose); } catch (Exception e) { AppLogAndEventHelper.Instance.RaiseError(e); AppLogAndEventHelper.Instance.RaiseError($"Считывание {fi.Name} в {row} строке ошибка {e.Message}"); r.Range.Interior.Color = XlRgbColor.rgbLightPink; } } } } }