利用通用权限管理系统底层解决数据从不同库的导入导出问题
/// <summary> /// 同步地区的处理 /// Base_Area表从Oracle同步到MySQL数据库 /// </summary> /// <returns></returns> public ActionResult SyncAreaFromOracleToMySql() { BaseResult baseResult = new BaseResult(); string currentId = string.Empty; try { BaseAreaManager areaOracleManager = new BaseAreaManager(UserCenterDbHelper, OperateContext.Current.UserInfo); //MySQl库 string mySQLConn = "server=192.168.3.12;uid=root;password=123456;database=sapp2;pooling=true;character set=utf8;Min Pool Size=5;Max Pool Size=50"; IDbHelper mySQLDbHelper = DbHelperFactory.GetHelper(CurrentDbType.MySql, mySQLConn); BaseAreaManager areaMySQLManager = new BaseAreaManager(mySQLDbHelper, OperateContext.Current.UserInfo); using (IDataReader dr = areaOracleManager.ExecuteReader(0, BaseAreaEntity.FieldCode)) { while (dr.Read()) { BaseAreaEntity entity = BaseEntity.Create<BaseAreaEntity>(dr, false); currentId = entity.Id; int result = areaMySQLManager.Update(entity); if (result == 0) { areaMySQLManager.Add(entity, false, false); } } } baseResult.Status = true; baseResult.StatusMessage = "地区数据同步到MySql完成。"; } catch (Exception ex) { baseResult.Status = false; baseResult.StatusMessage = "地区数据Id=" + currentId + "同步到MySql出现异常:" + ex.Message; } return Json(baseResult, JsonRequestBehavior.AllowGet); }
直接上代码了,上面实现的功能是从Oracle库将Base_Area表导入到MySQL库中Base_Area表的功能实现,同样可以导入到其它库中,充分利用了底层的功能,解决不同数据库导入导出的问题。
大家参考这个,就可以实现权限数据库向不同库的切换问题了,底层同时支持多种数据库,修改一下数据库连接配置即可,代码部分无需任何改动。