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以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。