当前位置:  开发笔记 > 编程语言 > 正文

从一个数据库表复制到另一个C#

如何解决《从一个数据库表复制到另一个C#》经验,为你挑选了2个好方法。

使用C#(vs2005)我需要将一个表从一个数据库复制到另一个数据库.两个数据库引擎都是SQL Server 2005.对于远程数据库,源代码,我只对存储过程具有执行权限,以获取本地需要的数据.

本地数据库我有更多的控制权,因为[asp.net]应用程序需要这个远程表的本地副本.我们希望它本地更容易查找和连接其他表等.

能否请您向我解释一种将此数据复制到本地数据库的有效方法.

如果使事情更简单,则可以使用与远程表相同的模式创建本地表.远程表有9列,其中没有一列是标识列.远程表中大约有5400行,每年增加约200行.所以不是一个快速变化的表.



1> Marc Gravell..:

也许是SqlBulkCopy; 使用SqlCommand.ExecuteReader获取在调用SqlBulkCopy.WriteToServer时使用的阅读器.这与bulk-insert相同,所以非常快.它应该看起来什么样(未经测试);

using (SqlConnection connSource = new SqlConnection(csSource))
using (SqlCommand cmd = connSource.CreateCommand())
using (SqlBulkCopy bcp = new SqlBulkCopy(csDest))
{
    bcp.DestinationTableName = "SomeTable";
    cmd.CommandText = "myproc";
    cmd.CommandType = CommandType.StoredProcedure;
    connSource.Open();
    using(SqlDataReader reader = cmd.ExecuteReader())
    {
        bcp.WriteToServer(reader);
    }
}



2> Canavar..:

ADO.NET的批量复制功能可能会帮助您了解:

MSDN - 多个批量复制操作(ADO.NET)

一篇示例文章

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有