Exemplo n.º 1
0
 public Link(lib.Database.Connection cnn, string QueryName, string PrimaryKey)
 {
     this.cnn        = cnn;
     this.PrimaryKey = PrimaryKey;
     Qry             = new Query(cnn, QueryName);
     Rets            = new List <LinkReturn>();
 }
Exemplo n.º 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (cmbOrigem.SelectedIndex == -1 || cmbComparacao.SelectedIndex == -1)
            {
                lib.Visual.Msg.Information("Informe a conexão de origem e de comparação");
            }



            lib.Database.Connection cnnOrigem     = Connections[cmbOrigem.SelectedIndex];
            lib.Database.Connection cnnComparacao = Connections[cmbComparacao.SelectedIndex];

            /*lib.Database.DbScript dbScriptOrigem = new lib.Database.DbScript(cnnOrigem);
             * lib.Database.DbScript dbScriptComparacao = new lib.Database.DbScript(cnnComparacao);
             *
             * string[] TablesOrigem = cnnOrigem.GetTables();
             * string[] TablesComparacao = cnnComparacao.GetTables();
             *
             * foreach (var item in TablesOrigem)
             * {
             *  if (!TablesComparacao.Contains(item)) {
             *      DbConsole.GetMetadataTable(tb, cbUtilizaColchetes.Checked)
             *  }
             * }*/

            List <Columns> FieldsOrigem     = GetFields(cnnOrigem);
            List <Columns> FieldsComparacao = GetFields(cnnComparacao);

            Log("-- Aplicar script na base " + Alias[cmbComparacao.SelectedIndex]);
            GeraLogsAlteracao(FieldsOrigem, FieldsComparacao);
            Log(" ");
            Log("-- Aplicar script na base " + Alias[cmbOrigem.SelectedIndex]);
            GeraLogsAlteracao(FieldsComparacao, FieldsOrigem);
        }
Exemplo n.º 3
0
        protected void btnExecutarArquivo_Click(object sender, EventArgs e)
        {
            lib.Database.Connection cnn = Utility.getNewConnection(Server.MapPath(Utility.ArqConfigXml));

            lib.Class.Download d   = new lib.Class.Download(64);
            string             arq = d.ToString();

            byte[] bytes = StreamToByteArray(d.ToStream(txtLinkDownload.Text));

            char[] chars = new char[bytes.Length];
            for (int i = 0; i < bytes.Length; i++)
            {
                chars[i] = (char)bytes[i];
            }

            SearchCommand sc = new SearchCommand(new string(chars), new char[] { ';' });

            cnn.BeginTransaction();
            while (sc.HasCode)
            {
                string instrucao = sc.NextCommand().Trim();

                if (instrucao.IndexOf("/*COMMIT*/") != -1)
                {
                    cnn.CommitTransaction();
                    cnn.BeginTransaction();

                    instrucao = instrucao.Replace("/*COMMIT*/", "");
                }

                if (!string.IsNullOrEmpty(instrucao))
                {
                    cnn.Exec(instrucao);
                }
            }
            lblResult.Text = "Concluido " + DateTime.Now.ToString("dd/MM/yy HH:mm:ss");
        }
Exemplo n.º 4
0
        private List <Columns> GetFields(lib.Database.Connection cnn)
        {
            System.Data.DataTable dt = cnn.GetSchema("Columns");

            string ColumnDataType      = "";
            string ColumnSize          = "";
            string ColumnDecimalDigits = "";

            if (ColumnExists(dt, "TYPE_NAME"))
            {
                ColumnDataType = "TYPE_NAME";
            }
            else if (ColumnExists(dt, "DATA_TYPE"))
            {
                ColumnDataType = "DATA_TYPE";
            }
            else if (ColumnExists(dt, "COLUMN_DATA_TYPE"))
            {
                ColumnDataType = "COLUMN_DATA_TYPE";
            }

            if (ColumnExists(dt, "NUMERIC_SCALE"))
            {
                ColumnDecimalDigits = "NUMERIC_SCALE";
            }
            else if (ColumnExists(dt, "DECIMAL_DIGITS"))
            {
                ColumnDecimalDigits = "DECIMAL_DIGITS";
            }

            if (ColumnExists(dt, "CHARACTER_MAXIMUM_LENGTH"))
            {
                ColumnSize = "CHARACTER_MAXIMUM_LENGTH";
            }
            else if (ColumnExists(dt, "COLUMN_SIZE"))
            {
                ColumnSize = "COLUMN_SIZE";
            }

            bool NumericPrecisionExists = ColumnExists(dt, "NUMERIC_PRECISION");

            List <Columns> Columns = new List <Columns>();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                Columns column = new Columns();
                column.Table     = dt.Rows[i]["TABLE_NAME"].ToString();
                column.Column    = dt.Rows[i]["COLUMN_NAME"].ToString();
                column.DataType  = dt.Rows[i][ColumnDataType].ToString();
                column.MaxLength = dt.Rows[i][ColumnSize].ToString();
                column.Digits    = dt.Rows[i][ColumnDecimalDigits].ToString();

                if (NumericPrecisionExists)
                {
                    column.ColumnSize =
                        string.IsNullOrEmpty(dt.Rows[i]["NUMERIC_PRECISION"].ToString()) ||
                        dt.Rows[i]["NUMERIC_PRECISION"].ToString() == "0" ?
                        dt.Rows[i][ColumnSize].ToString() : dt.Rows[i]["NUMERIC_PRECISION"].ToString();
                }
                else
                {
                    column.ColumnSize = dt.Rows[i][ColumnSize].ToString();
                }

                Columns.Add(column);
            }

            return(Columns);
        }