Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }
Exemple #4
0
 public Task <bool> AddModel(sys_database model)
 {
     throw new NotImplementedException();
 }