public override IList <TriggersEntity> GetTriggers(DataBaseEntity database) { IList <TriggersEntity> list = null; using (MySqlConnection connection = new MySqlConnection(database.DbConnectionStringBuilder.ConnectionString)) { connection.Open(); MySqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "SHOW TRIGGERS";//"select * FROM SysObjects where xtype='TR'"; cmd.CommandType = CommandType.Text; MySqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); if (reader != null && reader.HasRows) { list = new List <TriggersEntity>(); while (reader.Read()) { string name = reader["Trigger"].ToString(); TriggersEntity tr = new TriggersEntity(database.DbConnectionStringBuilder, name, name); tr.DataBase = database; list.Add(tr); } } } return(list); }
public override IList <ProcedureEntity> GetProcedures(DataBaseEntity database) { IList <ProcedureEntity> list = null; using (MySqlConnection connection = new MySqlConnection(database.DbConnectionStringBuilder.ConnectionString)) { connection.Open(); DataTable procedures = connection.GetSchema(SqlClientMetaDataCollectionNames.Procedures, new string[] { null, null, null, "PROCEDURE" }); if (procedures != null && procedures.Rows.Count > 0) { list = new List <ProcedureEntity>(); foreach (DataRow procedure in procedures.Rows) { string name = string.Format("{0}", procedure["SPECIFIC_NAME"]); string des = string.Format("{0}.{1}", procedure["ROUTINE_SCHEMA"], procedure["SPECIFIC_NAME"]); ProcedureEntity proc = new ProcedureEntity(database.DbConnectionStringBuilder, name, des); proc.DataBase = database; list.Add(proc); } } } return(list); }
public override IList <ViewEntity> GetViews(DataBaseEntity database) { IList <ViewEntity> list = null; using (MySqlConnection connection = new MySqlConnection(database.DbConnectionStringBuilder.ConnectionString)) { connection.Open(); DataTable views = connection.GetSchema(SqlClientMetaDataCollectionNames.Views, new string[] { null, null, null, null }); if (views != null && views.Rows.Count > 0) { list = new List <ViewEntity>(); foreach (DataRow table in views.Rows) { string name = string.Format("{0}", table["TABLE_NAME"]); string des = string.Format("{0}.{1}", table["TABLE_SCHEMA"], table["TABLE_NAME"]); ViewEntity view = new ViewEntity(database.DbConnectionStringBuilder, name, des); view.DataBase = database; list.Add(view); } } } return(list); }
public override IList <TableEntity> GetTables(DataBaseEntity database) { IList <TableEntity> list = null; using (SqlConnection connection = new SqlConnection(database.DbConnectionStringBuilder.ConnectionString)) { connection.Open(); DataTable tables = connection.GetSchema(SqlClientMetaDataCollectionNames.Tables, new string[] { null, null, null, "BASE TABLE" }); if (tables != null && tables.Rows.Count > 0) { list = new List <TableEntity>(); foreach (DataRow table in tables.Rows) { string name = string.Format("{0}", table["TABLE_NAME"]); string des = string.Format("{0}.{1}", table["TABLE_SCHEMA"], table["TABLE_NAME"]); TableEntity t = new TableEntity(database.DbConnectionStringBuilder, name, des); t.DataBase = database; list.Add(t); } } } return(list); }
public override IList <DataBaseEntity> GetDataBases(ServiceSite site) { IList <DataBaseEntity> list = null; using (MySqlConnection connection = new MySqlConnection(site.DbConnectionStringBuilder.ConnectionString)) { connection.Open(); DataTable databases = connection.GetSchema(SqlClientMetaDataCollectionNames.Databases, new string[] { null }); if (databases != null && databases.Rows.Count > 0) { list = new List <DataBaseEntity>(); foreach (DataRow database in databases.Rows) { string name = (string)database["database_name"]; MySqlConnectionStringBuilder con = new MySqlConnectionStringBuilder(site.DbConnectionStringBuilder.ConnectionString); con.Database = name; DataBaseEntity db = new DataBaseEntity(con, name); db.Service = site; list.Add(db); } } } return(list); }
public abstract IList <TriggersEntity> GetTriggers(DataBaseEntity database);
public abstract IList <ProcedureEntity> GetProcedures(DataBaseEntity database);
public abstract IList <ViewEntity> GetViews(DataBaseEntity database);
public abstract IList <TableEntity> GetTables(DataBaseEntity database);