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>(); }
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); }
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"); }
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); }