private void GerarScript(SqlCommand objCommand, string arquivo, ITipoObjetoSql tipo, SqlObject o) { try { objCommand.CommandText = tipo.SqlRecuperarScriptCriacao(BancoDadosEnum.SQL_SERVER, o.Proprietario, o.Nome); using (var objReader = objCommand.ExecuteReader()) { string script = string.Empty; while (objReader.Read()) { script = script + objReader.GetString(0); } objReader.Close(); fileUtils.RecriarArquivoSeExistir(arquivo, script); } } catch (Exception e) { LOG.Info($"Não foi possível gerar o objeto {o.Proprietario}.{o.Nome}:\n\t{e.Message}"); if (LOG.IsDebugEnabled) { LOG.Debug(e); } } }
private List <SqlObject> IdentificarObjetos(SqlCommand objCommand, ITipoObjetoSql tipo) { if (LOG.IsTraceEnabled) { LOG.InitTrace(nameof(IdentificarObjetos), nameof(objCommand), objCommand, nameof(tipo), tipo); } LOG.Info($"Listando objetos do tipo {tipo.Nome()}"); var objetos = new List <SqlObject>(); try { objCommand.CommandText = tipo.SqlListarObjetos(BancoDadosEnum.SQL_SERVER); using (var objReader = objCommand.ExecuteReader()) { while (objReader.Read()) { objetos.Add(new SqlObject() { Tipo = tipo.Nome(), Proprietario = objReader.GetString(0), Nome = objReader.GetString(1), DataModificacao = objReader.GetDateTime(2) }); if (InterromperProcesso) { break; } } objReader.Close(); } } catch (Exception e) { throw new Exception($"Não foi possível recuperar os objetos do tipo {tipo.Nome()}", e); } if (LOG.IsDebugEnabled) { LOG.Debug($"Total de objetos do tipo {tipo.Nome()}: {objetos.Count}"); } if (LOG.IsTraceEnabled) { LOG.EndTrace(nameof(IdentificarObjetos), objetos); } return(objetos); }