我想将数据从Server表复制到我的客户端表。
我现在将数据从客户端表复制到客户端表 像
INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable
以及我也知道如何使用SSMS使用链接服务器将数据从Server表复制到我的客户端表,但我想使用C#代码复制数据。
类似的问题:
How to copy table data from remote server to Local server in SQL Server 2008
任何想法?
编辑:
现在我正在尝试
SELECT column1, column2, column3 FROM oldTable
INSERT INTO newTable (col1, col2, col3) Values (Con1.column1,Con1.column2,Con1.column3)
答案 0 :(得分:1)
您可以使用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
。如果表结构不同,您可能还需要设置列映射。