参考代码如下:

复制代码
//--------------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2011 , Hairihan TECH, Ltd.
//--------------------------------------------------------------------

using System.Data;

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

publicclass ImportExportData
   {
///<summary>
/// 导出数据库到Oralce
///</summary>
publicvoid 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();
       }

publicvoid ExportTable(string tableName)
       {
           ExportTable(tableName.ToUpper(), tableName.ToUpper());
       }

///<summary>
/// 导出一个表
///</summary>
///<param name="tableName">表名</param>
///<param name="table">里面的数据</param>
publicvoid 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();
           }
       }
   }
}
复制代码