利用通用权限管理系统底层解决数据从不同库的导入导出问题

复制代码
        /// <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表的功能实现,同样可以导入到其它库中,充分利用了底层的功能,解决不同数据库导入导出的问题。

大家参考这个,就可以实现权限数据库向不同库的切换问题了,底层同时支持多种数据库,修改一下数据库连接配置即可,代码部分无需任何改动。


如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击文章下方“推荐”按钮【精神支持】,您的“推荐”将是我最大的写作动力!
欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!
posted @   三人成虎  阅读(1341)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示