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
相关文章
|
5月前
|
缓存 C#
C# 操作路径(Path)类方法的使用与解析运行实例
C# 操作路径(Path)类方法的使用与解析运行实例
|
7月前
|
C#
C#程序Debug文件夹可以运行,无法调试
C#程序Debug文件夹可以运行,无法调试
|
8月前
|
SQL XML 数据库
C#OOP之十六 开发常用之各种规范参考
C#OOP之十六 开发常用之各种规范参考
36 0
|
3月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
37 0
|
5月前
|
API C# 图形学
【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)
【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)
70 1
|
5月前
|
编译器 应用服务中间件 数据库连接
解决C#运行程序修改数据后数据表不做更新的问题
解决C#运行程序修改数据后数据表不做更新的问题
44 0
|
6月前
|
前端开发 C# 开发工具
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
108 0
|
11月前
|
XML 存储 测试技术
在C#下运行Python:IronPython和Pythonnet
在C#下运行Python可能有不同的原因。其中一些原因包括: 1. 使用C#应用程序中不可用的特定Python功能或库。 2. 结合Python的简单性和表现力以及C#的性能和稳健性,完成不同任务。 3. 与基于Python的系统或服务进行集成。
146 0
|
C#
C# 判断当前控制台程序是否重复运行
C# 判断当前控制台程序是否重复运行
126 0
|
C# C++ Windows
C#工程中输出类型转换以及程序运行后控制台窗口不退出设置
C#工程中输出类型转换以及程序运行后控制台窗口不退出设置
307 0
C#工程中输出类型转换以及程序运行后控制台窗口不退出设置