Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
        }