public ICollection <sys_database_file> GetDatabaseFiles(sys_database database) { using (var cnn = Connection()) return(cnn.Query <sys_database_file>(@" SELECT file_id, database_id, type, name, physical_name, state FROM sys_database_file WHERE database_id = @database_id", new { database.database_id }).ToList()); }
public bool SaveDatabase(sys_database database) { using (var cnn = Connection()) return(database.database_id == 0 ? (database.database_id = (int)cnn.Query <long>(@" INSERT INTO sys_database (name, recovery_model) VALUES (@name, @recovery_model); SELECT last_insert_rowid();", database).First()) != 0 : cnn.Query <int>(@" UPDATE sys_database SET name = @name, recovery_model = @recovery_model WHERE database_id = @database_id; SELECT changes();", database).First() != 0); }
/// <summary> /// 获取连接字符串 /// </summary> /// <param name="dataSourceId">数据源id</param> /// <returns></returns> private Tuple <DBType, string> GetConnectionStr(string dataSourceId) { sys_database model = null; using (var db = new DbContext()) { //查询同步的数据源 model = db.Select("sys_database") .Columns("*") .Where("id", dataSourceId) .GetModel <sys_database>(); }//end using if (model != null) { string conStr = string.Empty; switch (model.dbtype) { case 1: //Oracle conStr = $"Data Source={model.serverip}:{model.port}/{model.instance};User Id={model.user};Password={model.password};Pooling=true;Connection Timeout=60;"; return(new Tuple <DBType, string>(DBType.OracleNoClient, conStr)); case 2: //PG conStr = $"Server={model.serverip};Port={model.port};Database={model.instance};User Id={model.user};Password={model.password};"; return(new Tuple <DBType, string>(DBType.PostGreSql, conStr)); case 3: //SqlServer conStr = $"Server={model.serverip},{model.port};Database={model.instance};User Id={model.user};Password={model.password};"; return(new Tuple <DBType, string>(DBType.SQLServer, conStr)); case 4: //MySQL,default port :3306 conStr = $"Server={model.serverip};Port={model.port};Database={model.instance};Uid={model.user};Pwd={model.password};"; return(new Tuple <DBType, string>(DBType.MySql, conStr)); default: break; } } return(null); }
public Task <bool> AddModel(sys_database model) { throw new NotImplementedException(); }