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
上一篇:Python获取本机所有IP地址


下一篇:一段Winrunner的样例脚本