C#.NET通用权限管理在DB2数据库上运行的脚本参考 - 通过程序将数据导入到目标数据库中

简介:

参考代码如下:

// --------------------------------------------------------------------
//  All Rights Reserved , Copyright (C) 2011 , Hairihan TECH, Ltd. 
// --------------------------------------------------------------------

using  System.Data;

namespace  DotNet.Example
{
    
using  DotNet.BaseManager;
    
using  DotNet.DbUtilities;

    
public   class  ImportExportData
    {
        
///   <summary>
        
///  导出数据库到Oralce
        
///   </summary>
         public   void  Export()
        {
            
this .ExportTable( " Items_Nationality " );
            
this .ExportTable( " Items_Area " );
            
this .ExportTable( " Items_AuditStatus " );
            
this .ExportTable( " Items_Degree " );
            
this .ExportTable( " Items_Duty " );
            
this .ExportTable( " Items_Education " );
            
this .ExportTable( " Items_Express " );
            
this .ExportTable( " Items_Links " );
            
this .ExportTable( " Items_MembershipLevels " );
            
this .ExportTable( " Items_NewsCategory " );
            
this .ExportTable( " Items_OnSale " );
            
this .ExportTable( " Items_OrganizeCategory " );
            
this .ExportTable( " Items_Party " );
            
this .ExportTable( " Items_Pattern " );
            
this .ExportTable( " Items_PayCategory " );
            
this .ExportTable( " Items_PostCategory " );
            
this .ExportTable( " Items_RoleCategory " );
            
this .ExportTable( " Items_SalaryItemCategory " );
            
this .ExportTable( " Items_SendCategory " );
            
this .ExportTable( " Items_Gender " );
            
this .ExportTable( " Items_Title " );
            
this .ExportTable( " Items_Units " );
            
this .ExportTable( " Items_Wed " );
            
this .ExportTable( " Items_AuditStatus " );
            
this .ExportTable( " Items_WorkCategory " );
            
this .ExportTable( " Items_WorkFlowCategories " );
            
this .ExportTable( " Items_WorkingProperty " );
            
this .ExportTable( " Base_Businesscard " );
            
this .ExportTable( " Base_Comment " );
            
this .ExportTable( " Base_Contact " );
            
this .ExportTable( " Base_ContactDetails " );
            
this .ExportTable( " Base_Exception " );
            
this .ExportTable( " Base_File " );
            
this .ExportTable( " Base_Folder " );
            
this .ExportTable( " Base_Items " );
            
this .ExportTable( " Base_Log " );
            
this .ExportTable( " Base_Message " );
            
this .ExportTable( " Base_News " );

            
this .ExportTable( " Base_Organize " );
            
this .ExportTable( " Base_Module " "  SELECT * FROM BASE_MODULE ORDER BY PARENTID, ID  " );
            
this .ExportTable( " Base_PermissionItem " );
            
this .ExportTable( " Base_Role " );
            
this .ExportTable( " Base_Staff " );

            
this .ExportTable( " Base_Parameter " );
            
this .ExportTable( " Base_Project " );
            
this .ExportTable( " Base_Permission " );
            
this .ExportTable( " Base_PermissionScope " );

            
this .ExportTable( " Base_Sequence " );

            
this .ExportTable( " Base_StaffOrganize " );
            
this .ExportTable( " Base_TableColumns " );
            
this .ExportTable( " Base_User " );
            
this .ExportTable( " Base_UserAddress " );
            
this .ExportTable( " Base_UserOrganize " );
            
this .ExportTable( " Base_UserRole " );
            
this .ExportTable( " Base_StaffOrganize " );

            
/*
            this.ExportTable("Base_WorkFlowActivity");
            this.ExportTable("Base_WorkFlowCurrent");
            this.ExportTable("Base_WorkFlowHistory");
            this.ExportTable("Base_WorkFlowProcess");
            
*/

            System.Console.ReadLine();
        }

        
public   void  ExportTable( string  tableName)
        {
            ExportTable(tableName.ToUpper(), tableName.ToUpper());
        }

        
///   <summary>
        
///  导出一个表
        
///   </summary>
        
///   <param name="tableName"> 表名 </param>
        
///   <param name="table"> 里面的数据 </param>
         public   void  ExportTable( string  tableName,  string  table)
        {
            
//  这里是获取目标数据表的方法
            IDbHelper sourceDB  =   new  SqlHelper( " Data Source=192.168.0.121;Initial Catalog=UserCenterV36;User Id = sa ; Password = xx; " );
            sourceDB.Open();
            DataTable dataTable 
=   new  DataTable(tableName);
            
if  (tableName.Equals(table))
            {
                dataTable 
=  sourceDB.Fill( " SELECT * FROM  "   +  table);
            }
            
else
            {
                dataTable 
=  sourceDB.Fill(table);
            }
            sourceDB.Close();

            
//  这里是目标表的数据插入处理
            
//  IDbHelper targetDB = new OracleHelper("Data Source=KANGFU;user=usercenter;password=xx;");
            IDbHelper targetDB  =   new  DB2Helper( " Database=UCV36;UserID=JIRIGALA;Password=xx;Server=JIRIGALA-PC; " );
            targetDB.Open();
            targetDB.BeginTransaction();
            SQLBuilder sqlBuilder 
=   new  SQLBuilder(targetDB);
            
try
            {
                
//  清除表数据
                
//  targetDB.ExecuteNonQuery(" TRUNCATE TABLE " + tableName);
                targetDB.ExecuteNonQuery( "  DELETE FROM  "   +  tableName);
                
//  创建配套的序列
                
//  targetDB.ExecuteNonQuery("create sequence SEQ_" + tableName.ToUpper() + " as bigint start with 1000000 increment by 1 minvalue 10000 maxvalue 99999999999999999 cycle cache 20 order");
                
//  targetDB.ExecuteNonQuery("create sequence SEQ_" + tableName + " minvalue 1 maxvalue 999999999999999999999999 start with 1 increment by 1 cache 20");
                 int  r  =   0 ;
                
for  (r  =   0 ; r  <  dataTable.Rows.Count; r ++ )
                {
                    sqlBuilder.BeginInsert(tableName);
                    
for  ( int  i  =   0 ; i  <  dataTable.Columns.Count; i ++ )
                    {
                        sqlBuilder.SetValue(dataTable.Columns[i].ColumnName, dataTable.Rows[r][dataTable.Columns[i].ColumnName]);
                    }
                    sqlBuilder.EndInsert();
                    
//  System.Console.WriteLine("表 " + tableName + " 已插入第 " + r.ToString() + " 行");
                }
                System.Console.WriteLine(
"  - - 表  "   +  tableName  +   "  共插入  "   +  r.ToString()  +   "  行 " );
                targetDB.CommitTransaction();
            }
            
catch  (System.Exception exception)
            {
                
//  targetDB.RollbackTransaction();
                System.Console.WriteLine(tableName  +   "  --  "   +  exception.Message);
            }
            
finally
            {
                targetDB.Close();
            }
        }
    }
}本文转自jirigala_bao 51CTO博客,原文链接:http://blog.51cto.com/jirigala/812629
相关文章
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
1047 10
|
缓存 C#
C# 操作路径(Path)类方法的使用与解析运行实例
C# 操作路径(Path)类方法的使用与解析运行实例
|
SQL XML 数据库
C#OOP之十六 开发常用之各种规范参考
C#OOP之十六 开发常用之各种规范参考
349 0
|
C# 开发工具 C++
code runner 运行C#项目
本文介绍了如何修改Code Runner设置使 Visual Studio Code (VS Code) 能直接运行完整的 C# 项目。传统方式依赖 cscript 工具,仅支持 .csx 文件,功能受限且已停止维护。新配置使用 `dotnet run` 命令,结合一系列炫酷的cmd指令,将指令定位到具体的csproj文件上进行运行。
1457 38
|
JavaScript Shell C#
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
1241 3
|
Linux C# iOS开发
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
521 12
|
安全 Java C#
Unreal Engine C# 脚本编写浅谈
本文介绍了在 Unreal Engine 中使用 C# 编写脚本的方法,涵盖环境搭建、基础概念、常见问题及代码案例。从安装插件到处理输入事件和加载蓝图,详细讲解了如何在 Unreal Engine 中高效利用 C# 进行开发。
754 3
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
1031 0
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
265 0