//private static string GetSQL() //{ // string sql; // sql = "select S1.name,S1.schema_id, S2.name AS Owner from sys.schemas S1 "; // sql += "INNER JOIN sys.database_principals S2 ON S2.principal_id = S1.principal_id "; // return sql; //} public void Fill(Database database, string connectioString) { if (database.Info.Version == DatabaseInfo.VersionNumber.SQLServer2000) { return; } if (database.Options.Ignore.FilterSchema) { using (SqlConnection conn = new SqlConnection(connectioString)) { using (SqlCommand command = new SqlCommand(SchemaSQLCommand.Get(database.Info.Version), conn)) { conn.Open(); command.CommandTimeout = 0; using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Model.Schema item = new Model.Schema(database); item.Id = (int)reader["schema_id"]; item.Name = reader["name"].ToString(); item.Owner = reader["owner"].ToString(); database.Schemas.Add(item); } } } } } }
public void Fill(Database database, string connectioString) { if (database.Options.Ignore.FilterSchema) { using (SqlConnection conn = new SqlConnection(connectioString)) { using (SqlCommand command = new SqlCommand(GetSQL(), conn)) { conn.Open(); command.CommandTimeout = 0; using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Model.Schema item = new Model.Schema(database); item.Id = (int)reader["schema_id"]; item.Name = reader["name"].ToString(); item.Owner = reader["owner"].ToString(); item.CreateDate = (DateTime)reader["create_date"]; item.ModifyDate = (DateTime)reader["modify_date"]; database.Schemas.Add(item); } } } } } }
//private static string GetSQL() //{ // string sql; // sql = "select S1.name,S1.schema_id, S2.name AS Owner from sys.schemas S1 "; // sql += "INNER JOIN sys.database_principals S2 ON S2.principal_id = S1.principal_id "; // return sql; //} public void Fill(Database database, string connectioString) { if (database.Info.Version == DatabaseInfo.VersionNumber.SQLServer2000) return; if (database.Options.Ignore.FilterSchema) { using (SqlConnection conn = new SqlConnection(connectioString)) { using (SqlCommand command = new SqlCommand(SchemaSQLCommand.Get(database.Info.Version), conn)) { conn.Open(); command.CommandTimeout = 0; using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Model.Schema item = new Model.Schema(database); item.Id = (int)reader["schema_id"]; item.Name = reader["name"].ToString(); item.Owner = reader["owner"].ToString(); database.Schemas.Add(item); } } } } } }
public void Fill(Database database, string connectioString) { if (database.Options.Ignore.FilterSchema) { using (SqlConnection conn = new SqlConnection(connectioString)) { using (SqlCommand command = new SqlCommand(GetSQL(), conn)) { conn.Open(); command.CommandTimeout = 0; using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Model.Schema item = new Model.Schema(database); item.Id = (int)reader["schema_id"]; item.Name = reader["name"].ToString(); item.Owner = reader["owner"].ToString(); item.CreateDate = (DateTime) reader["create_date"]; item.ModifyDate = (DateTime) reader["modify_date"]; database.Schemas.Add(item); } } } } } }
//The issue context is specified by including one of the following columns in the result set: schema_context, table_context or column_context //Default context is database context (also used if e.g. one of the specified tables does not exist in the model) private static IssueContext getContextFromSQLIssue(DataTable result, DataRow issueRow, Model.Database database) { //Schema context if (result.Columns.Contains("schema_context")) { String schemaName = (String)issueRow["schema_context"]; Model.Schema schema = database.Schemas.Where(s => s.SchemaName == schemaName).FirstOrDefault(); if (schema != null) { return(new SchemaContext(schema)); } } //Table context else if (result.Columns.Contains("table_context")) { String tableName = (String)issueRow["table_context"]; Model.Table table = database.Tables.Where(t => t.TableName == tableName).FirstOrDefault(); if (table != null) { return(new TableContext(table)); } } //Column context else if (result.Columns.Contains("column_context")) { String columnName = (String)issueRow["column_context"]; Model.Column column = database.Columns.Where(c => c.TableName == columnName).FirstOrDefault(); if (column != null) { return(new ColumnContext(column)); } } //Default context return(new DatabaseContext(database)); }