用c#如何将服务器上所有数据库中的所有表复制到本地的数据库上。
3个回答
2015-05-15 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517195
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
EXEC master.dbo.sp_addlinkedserver @server = N'Link',
@srvproduct='ms',
@provider=N'SQLNCLI',
@datasrc=N'远程ip地址,端口'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'用户名',
@rmtpassword='密码'
--查询远程表
select *
from [Link].远程数据库名.dbo.表
--把本地表的数据,复制到远程表
insert into [Link].远程数据库名.dbo.表(列的列表)
select 列
from 本地表
EXEC master.dbo.sp_addlinkedserver @server = N'Link',
@srvproduct='ms',
@provider=N'SQLNCLI',
@datasrc=N'远程ip地址,端口'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'用户名',
@rmtpassword='密码'
--查询远程表
select *
from [Link].远程数据库名.dbo.表
--把本地表的数据,复制到远程表
insert into [Link].远程数据库名.dbo.表(列的列表)
select 列
from 本地表
展开全部
函数体:
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\A.mdb;";
string comString1 = @"select * into [n] from [D:\B.mdb].[n]";
基本就是这样(默认服务器和架构一致),最好你还写一个判断A数据库原本有没有这个表n,防止重复插入。
下面是判断表有无存在的方法
public static bool tableExist(string tableName)
{
try
{
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data.mdb;";
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
DataTable dt = conn.GetSchema("Tables");
conn.Close();
DataRow[] drs = dt.Select(string.Format("TABLE_TYPE='TABLE' and TABLE_NAME='{0}'", tableName));
if (drs.Length > 0)
{
return true;
}
else
{
return false;
}
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
return false;
}
}
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\A.mdb;";
string comString1 = @"select * into [n] from [D:\B.mdb].[n]";
基本就是这样(默认服务器和架构一致),最好你还写一个判断A数据库原本有没有这个表n,防止重复插入。
下面是判断表有无存在的方法
public static bool tableExist(string tableName)
{
try
{
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data.mdb;";
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
DataTable dt = conn.GetSchema("Tables");
conn.Close();
DataRow[] drs = dt.Select(string.Format("TABLE_TYPE='TABLE' and TABLE_NAME='{0}'", tableName));
if (drs.Length > 0)
{
return true;
}
else
{
return false;
}
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
return false;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可以直接导出到自己电脑 然后再次倒入吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询