参考代码如下:

//
--------------------------------------------------------------------
//
 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();
            }
        }
    }
}
复制代码

 

将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。