public static void CustomUpdateDB(IList <ProtocoloDB> prot, int tipo) { using (var conn = GetConnection()) { try { conn.Open(); using (var comm = GetCommand()) { var sql = CriaSQL(prot[0], tipo); query = sql; comm.Connection = conn; comm.CommandType = CommandType.Text; if (StaticParametersDB.GetDriver() == "sqlserver") { comm.CommandText = "SET DATEFORMAT dmy"; comm.ExecuteNonQuery(); } using (var command = SqlCommandWithParameters(prot[0], tipo)) { command.Connection = conn; command.ExecuteNonQuery(); } } } catch (Exception ex) { ExceptionCore e = new ExceptionCore(); e.ExBanco(2, ex.Message, StaticParametersDB.GetDriver(), ex, query); } finally { conn.Close(); } } }
public static bool UpdateDB(ProtocoloDB prot) { bool retorno = true; using (var conn = GetConnection()) { try { conn.Open(); using (var comm = GetCommand()) { if (prot.nroRec == null || prot.nroRec == "") { var sql = CriaSQL(prot, 1); query = sql; comm.Connection = conn; comm.CommandType = CommandType.Text; if (StaticParametersDB.GetDriver() == "sqlserver") { comm.CommandText = "SET DATEFORMAT dmy"; comm.ExecuteNonQuery(); } try //Tenta atualizar com tamanho original da mensagem de erro { using (var command = SqlCommandWithParameters(prot, 1)) { command.Connection = conn; command.ExecuteNonQuery(); } } catch (Exception ex) { if (ex.HResult == -2146232060 || ex.HResult == -2147467259) //Banco retorna erros de valor de caracteres excedido. { using (var command = SqlCommandWithParameters(prot, 1, true)) //Valor true passado por parametro para forcar a atualização, alterando o valor da mensagem. { command.Connection = conn; command.ExecuteNonQuery(); } } else { throw ex; //Caso seja outro erro, grava log. } } } else { var sql = CriaSQL(prot, 2); query = sql; comm.Connection = conn; comm.CommandType = CommandType.Text; if (StaticParametersDB.GetDriver() == "sqlserver") { comm.CommandText = "SET DATEFORMAT dmy"; comm.ExecuteNonQuery(); } using (var command = SqlCommandWithParameters(prot, 2)) { command.Connection = conn; command.ExecuteNonQuery(); } } } } catch (Exception ex) { ExceptionCore e = new ExceptionCore(); e.ExBanco(2, ex.Message, StaticParametersDB.GetDriver(), ex, query); retorno = false; } finally { conn.Close(); } } return(retorno); }
public static void GetData(ISession sessao) { var ProtocoloDAO = new ProtocoloDB_DAO(sessao); using (var conn = GetConnection()) { //Não é possível abrir o banco de dados solicitado pelo logon. Falha de logon.Falha de logon do usuário 'AUTORIDADE NT\SISTEMA'. try { conn.Open(); using (var comm = GetCommand()) { comm.Connection = conn; comm.CommandText = "SELECT ID, XMLEVENTO, IDSEQ FROM ZMDATVIVES_EVENTOS_ESOCIAL WHERE NROPROTOCOLO IS NULL"; var adapter = GetAdapter(comm); var dataTable = new System.Data.DataTable(); adapter.Fill(dataTable); Processos proc = new Processos(); foreach (System.Data.DataRow row in dataTable.Rows) { try { var Base = proc.DefineBaseEnvioDB(Convert.ToString(row["XMLEVENTO"]), (Convert.ToString(row["ID"]) + "-" + Convert.ToString(row["IDSEQ"]) + "-" + StaticParametersDB.GetId())); var prot = new ProtocoloDB { id = string.Concat(Convert.ToString(row["ID"]), "-", Convert.ToString(row["IDSEQ"]), "-" + StaticParametersDB.GetId()), idEvento = Convert.ToString(row["ID"]), idSeq = Convert.ToString(row["IDSEQ"]), xmlEvento = Convert.ToString(row["XMLEVENTO"]), driver = StaticParametersDB.GetDriver(), baseEnv = Convert.ToString(Base), idDB = StaticParametersDB.GetId() }; ProtocoloDAO.Salvar(prot); } catch (Exception ex) { if (ex.HResult != -2147467261) { ExceptionCore e = new ExceptionCore(); e.ExBanco(30, "ID Evento: " + (Convert.ToString(row["ID"]) + "-" + Convert.ToString(row["IDSEQ"]) + "-" + StaticParametersDB.GetId()) + " | Erro: " + ex.Message, StaticParametersDB.GetDriver(), ex, ""); } else { UpdateDB( proc.GeraProtocoloAux("1" , Convert.ToString(row["ID"]) , Convert.ToString(row["IDSEQ"]) , "<erro>Tag tipo de ambiente não presente no XML</erro>" , "0" , "Tag tipo de ambiente não presente no XML") ); } } } } } catch (Exception ex) { ExceptionCore e = new ExceptionCore(); e.ExBanco(1, ex.Message, StaticParametersDB.GetDriver(), ex, ""); } finally { conn.Close(); } } }