如何将数据从服务器表复制到客户端表

本文关键字:复制 客户端 服务器 数据 | 更新日期: 2023-09-27 18:05:57

我想从服务器表复制数据到我的客户端表。

我现在要将数据从客户端表复制到客户端表像

INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable

以及我也知道如何从服务器表复制数据到我的客户端表使用链接服务器使用SSMS,但我想使用c#代码复制数据。

类似问题:

如何在SQL server 2008中从远程服务器复制表数据到本地服务器

你知道吗?

编辑:

现在我正在尝试

  1. 打开远程服务器连接AS Con1
  2. SELECT column1, column2, column3 FROM oldTable
  3. 打开客户端连接作为Con2
  4. INSERT INTO newTable (col1, col2, col3) Values (Con1.column1,Con1.column2,Con1.column3)

如何将数据从服务器表复制到客户端表

您可以使用SqlBulkCopy类有效地将数据从SQL Server实例的一个表复制到另一个SQL Server实例的另一个表。

这里有最简单的代码:

using (var sourceConnection = new SqlConnection(SourceConnectionString))
using (var sourceCommand = new SqlCommand("SELECT * FROM SourceTable", sourceConnection))
using (var targetConnection = new SqlConnection(TargetConnectionString))
using (var bcp = new SqlBulkCopy(targetConnection, SqlBulkCopyOptions.TableLock, null)) 
{
    bcp.DestinationTableName = "TargetTable";
    sourceConnection.Open();
    targetConnection.Open();
    using (var sourceReader = sourceCommand.ExecuteReader())
    {
        bcp.WriteToServer(sourceReader);
    }
}

您可能需要设置其他SqlBulkCopyOptions,例如KeepIdentity。如果表结构不同,还可能需要设置列映射。