Beispiel #1
0
        internal static string ObterStringConexaoSegura()
        {
            string HostSeg = ConfigurationManager.AppSettings["HostSeg"];
            string PortSeg = ConfigurationManager.AppSettings["PortSeg"];

            string ServiceNameSeg = InstanciaBancoSeg;

            string usuarioBancoSeguranca = Configuration.SefazInfraSection.ObterConfiguracao().Dados.OracleBaseSeguranca.Usuario;
            string senhaBancoSeguranca   = Configuration.SefazInfraSection.ObterConfiguracao().Dados.OracleBaseSeguranca.Senha;

            string usuariosenha = "password="******";user id=" + usuarioBancoSeguranca;

            string providerconexao =
                ";data source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + HostSeg + ")(PORT=" + PortSeg + ")))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" + ServiceNameSeg + ")));" + usuariosenha;

            OracleElement oracleElement = SefazInfraSection.ObterConfiguracao().Dados.Oracle;

            string minPoolsize       = oracleElement.MinPoolSize.ToString();
            string maxPoolsize       = oracleElement.MaxPoolSize.ToString();
            string lifetime          = oracleElement.ConnectionLifeTime.ToString();
            string timeout           = oracleElement.ConnectionTimeout.ToString();
            string incPoolsize       = oracleElement.IncrPoolSize.ToString();
            string decPoolsize       = oracleElement.DecrPoolSize.ToString();
            string pooling           = oracleElement.Pooling.ToString();
            string validateconection = oracleElement.ValidateConnection.ToString();


            if (!string.IsNullOrEmpty(minPoolsize) & !string.IsNullOrEmpty(maxPoolsize) & !string.IsNullOrEmpty(lifetime) & !string.IsNullOrEmpty(timeout) & !string.IsNullOrEmpty(incPoolsize) & !string.IsNullOrEmpty(decPoolsize) & !string.IsNullOrEmpty(pooling) & !string.IsNullOrEmpty(validateconection))
            {
                providerconexao += ";Min Pool Size=" + minPoolsize + ";";
                providerconexao += "Connection Lifetime=" + lifetime + ";";
                providerconexao += "Connection Timeout=" + timeout + ";";
                providerconexao += "Incr Pool Size=" + incPoolsize + ";";
                providerconexao += "Decr Pool Size=" + decPoolsize + ";";
                providerconexao += "Pooling=" + pooling + ";";
                providerconexao += "Validate Connection=" + validateconection + ";";
            }

            return(providerconexao);
        }
Beispiel #2
0
        private static string ObterStringConexao(string siglasistema, string usuario, string senha)
        {
            try
            {
                string login = LoginUsuario;

                OracleElement oracleElement = SefazInfraSection.ObterConfiguracao().Dados.Oracle;

                string minPoolsize       = oracleElement.MinPoolSize.ToString();
                string maxPoolsize       = oracleElement.MaxPoolSize.ToString();
                string lifetime          = oracleElement.ConnectionLifeTime.ToString();
                string timeout           = oracleElement.ConnectionTimeout.ToString();
                string incPoolsize       = oracleElement.IncrPoolSize.ToString();
                string decPoolsize       = oracleElement.DecrPoolSize.ToString();
                string pooling           = oracleElement.Pooling.ToString();
                string validateconection = oracleElement.ValidateConnection.ToString();


                if (!siglasistema.Equals(CodigoSistemaCorrente))
                {
                    login = Sefaz.Infra.Configuration.SefazInfraSection.ObterConfiguracao().Geral.UsuarioSistema;
                }

                Entities db = new Entities();

                GRUPO grupo = db.GRUPO.Where(g => g.SISTEMA.CDSISTEMA.Equals(siglasistema) & g.USUARIO.Where(u => u.DSLOGIN.Equals(login)).Any() & g.SISTEMA.DOMINIO.Where(d => d.CDDOMINIO.Equals(CodigoDominioCorrente)).Any()).ToList().FirstOrDefault();

                if (grupo == null)
                {
                    throw new Exception(
                              "Não foi possível obter as credenciais de conexao para o banco de dados da aplicação para o sistema: " +
                              siglasistema + " com o login: "******" no dominio: " + CodigoDominioCorrente +
                              " e no ambiente: " + AmbienteSistemaSeguranca +
                              ". Favor verificar as configurações de segurança.");
                }

                string usuariosenha = "password="******";user id=" + usuario;

                short IdInstancia = grupo.SISTEMA.INSTANCIAESQUEMABANCO.First().SQINSTANCIABANCO;

                INSTANCIABANCO instancia = db.INSTANCIABANCO.Where(i => i.SQINSTANCIABANCO == IdInstancia).ToList().FirstOrDefault();

                string providerconexao =
                    ";data source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + instancia.HOST + ")(PORT=" + instancia.PORT + ")))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" + instancia.SERVICENAME + ")));" + usuariosenha;

                if (!string.IsNullOrEmpty(minPoolsize) & !string.IsNullOrEmpty(maxPoolsize) & !string.IsNullOrEmpty(lifetime) & !string.IsNullOrEmpty(timeout) & !string.IsNullOrEmpty(incPoolsize) & !string.IsNullOrEmpty(decPoolsize) & !string.IsNullOrEmpty(pooling) & !string.IsNullOrEmpty(validateconection))
                {
                    providerconexao += ";Min Pool Size=" + minPoolsize + ";";
                    providerconexao += "Connection Lifetime=" + lifetime + ";";
                    providerconexao += "Connection Timeout=" + timeout + ";";
                    providerconexao += "Incr Pool Size=" + incPoolsize + ";";
                    providerconexao += "Decr Pool Size=" + decPoolsize + ";";
                    providerconexao += "Pooling=" + pooling + ";";
                    providerconexao += "Validate Connection=" + validateconection + ";";
                }
                return(providerconexao);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }