예제 #1
0
        //Derruba as conexões abertas com o Banco de dados.
        public string fechaConBD(ConexaoERP ConnErp, int caso)
        {
            string consulta      = "";
            string result        = "";
            string connStrMaster = "";

            connStrMaster = String.Format(@"Data Source={0};Initial Catalog={1};Persist Security Info=True;User ID={2};Password={3}",
                                          ConnErp.Servidor, "master", ConnErp.Usuario, ConnErp.SenhaBD);

            try
            {
                //SqlConnection conexao = new SqlConnection(connStrMaster);

                if (caso == 1) //1 - Fecha Conexoes / 2 - Retorna para MultUser
                {
                    consulta = "ALTER DATABASE " + ConnErp.BancoDados.ToUpper() + " SET SINGLE_USER WITH ROLLBACK IMMEDIATE; \n" +
                               "ALTER DATABASE " + ConnErp.BancoDados.ToUpper() + " MODIFY NAME = REBUILDidx; \n" +
                               "ALTER DATABASE REBUILDidx SET MULTI_USER; \n";
                }
                else
                {
                    consulta = "ALTER DATABASE REBUILDidx SET SINGLE_USER WITH ROLLBACK IMMEDIATE; \n" +
                               "ALTER DATABASE REBUILDidx MODIFY NAME = " + ConnErp.BancoDados.ToUpper() + ";\n" +
                               "ALTER DATABASE " + ConnErp.BancoDados.ToUpper() + " SET MULTI_USER; \n";
                }

                SqlConnection conexao = new SqlConnection(connStrMaster);
                SqlCommand    cmd     = new SqlCommand(consulta, conexao);
                conexao.Open();
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                result = "OK";

                conexao.Close();
                return(result);
            }
            catch (Exception ex)
            {
                result = ex.Message;
                GravaErro(result);
                return(result);
            }
        }
예제 #2
0
        //Retorna os dados da conexão do ERP
        public ConexaoERP LeConfTXT(string IDConex)
        {
            ConexaoERP dadosConn   = new ConexaoERP();
            string     PastaUser   = "";
            string     ArqConexoes = "";
            string     Valor       = "";

            var tam = IDConex.Length;

            if (tam < 3)
            {
                if (tam == 2)
                {
                    IDConex = "0" + IDConex.Trim();
                }
                else if (tam == 1)
                {
                    IDConex = "00" + IDConex.Trim();
                }
            }

            PastaUser   = Environment.GetEnvironmentVariable("USERPROFILE");
            ArqConexoes = PastaUser + @"\Controller\ConexaoAtual-" + IDConex + ".cfg";

            try
            {
                if (File.Exists(ArqConexoes))
                {
                    dadosConn.ConexaoId = Convert.ToInt32(IDConex);

                    Regex regex = new Regex(@"(?<chave>[A-Z|_]*)\:(?<valor>.*)");

                    var linhas = File.ReadAllLines(ArqConexoes);

                    foreach (var linha in linhas)
                    {
                        GroupCollection groups = regex.Match(linha).Groups;

                        //   Console.WriteLine( "Group: {0}, Value: {1}",   groupName, groups[groupName].Value);
                        Valor = groups["valor"].Value.ToString();

                        switch (groups["chave"].Value.ToString())
                        {
                        case "SERVIDOR":
                            dadosConn.Servidor = Valor;
                            break;

                        case "BANCO":
                            dadosConn.BancoDados = Valor;
                            break;

                        case "USUARIO":
                            dadosConn.Usuario = Valor;
                            break;

                        case "SENHA":
                            dadosConn.SenhaCript = Valor;
                            break;

                        case "KEY":
                            dadosConn.KeyString = Valor;
                            break;

                        case "MIRROR":
                            dadosConn.ServerMirror = Valor;
                            break;

                        case "PASTA_DB":
                            dadosConn.PastaBD = Valor;
                            break;

                        case "PASTA_BKP":
                            dadosConn.PastaBackup = Valor;
                            break;
                        }
                    }
                }

                //Tenta Descriptar a Senha - Vou deixar pra depois esse trampo pq pode demorar mto
                dadosConn.SenhaBD = Crypto.Decrypt64(dadosConn.SenhaCript, dadosConn.KeyString);

                dadosConn.StringConexao = String.Format(@"Data Source={0};Initial Catalog={1};Persist Security Info=True;User ID={2};Password={3}",
                                                        dadosConn.Servidor, dadosConn.BancoDados, dadosConn.Usuario, dadosConn.SenhaBD);

                return(dadosConn);
            }
            catch (Exception ex)
            {
                return(dadosConn);

                throw ex;
            }
        }