C#实现复制数据库 C#将A数据库数据转到B数据库
本文章以一个表为例,要转多个表则可将DataSet关联多个表,下面给出完整代码,包括引用以及main函数与复制函数。
要说明的是,必须先用Sql语句复制表结构,才能顺利的使用以下代码复制数据。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Data.Common;
namespaceCopyData
{
classProgram
{
staticvoidMain(string[]args)
{
//要复制的表名
stringtable="V_Position";
//构造连接字符串
SqlConnectionStringBuilderbuilder1=newSqlConnectionStringBuilder();
builder1.DataSource=".\\CANFLY";//实例名称为CANFLY
builder1.InitialCatalog="desdata";//目标数据库
builder1.IntegratedSecurity=true;//使用Windows身份验证
SqlConnectionStringBuilderbuilder2=newSqlConnectionStringBuilder();
builder2.DataSource=".\\CANFLY";
builder2.InitialCatalog="bddata";//源数据库
builder2.IntegratedSecurity=true;
//调用复制数据库函数
InsertTable(builder1.ConnectionString,builder2.ConnectionString,table);
}
//参数为两个数据库的连接字符串
privatestaticvoidInsertTable(stringconString1,stringconString2,stringtabStr)
{
//连接数据库
SqlConnectionconn1=newSqlConnection();
conn1.ConnectionString=conString1;
conn1.Open();
SqlConnectionconn2=newSqlConnection();
conn2.ConnectionString=conString2;
conn2.Open();
//填充DataSet1
SqlDataAdapteradapter1=newSqlDataAdapter("select*from"+tabStr,conn1);
DataSetdataSet1=newDataSet();
if(dataSet1!=null)
{
adapter1.Fill(dataSet1,tabStr);
}
SqlDataAdapteradapter2=newSqlDataAdapter("select*from"+tabStr,conn2);
DataSetdataSet2=newDataSet();
SqlCommandcmd2=newSqlCommand("selectcount(*)from"+tabStr,conn2);
Objectres2=cmd2.ExecuteScalar();
if(res2!=null)
{
intnCount=Convert.ToInt32(res2.ToString());
if(nCount==0)
{
conn1.Close();
conn2.Close();
return;
}
}
//填充DataSet2
if(dataSet2!=null)
{
adapter2.Fill(dataSet2,tabStr);
}
//复制数据
for(intj=0;j
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。