0

我有一个在 SQL 中运行良好的批量插入。

我不知道如何让 SQL 代码在 C# 中工作。

CMD.CommandText = "???"

我尝试了很多想法并不断出错。批量插入如下:

Use Lab2
GO
BULK
 INSERT [dbo].[tmpPerson]
  FROM 'C:\Temp\Input2.txt'
   WITH (
      ROWTERMINATOR  ='\n');
4

2 回答 2

3

看看SqlBulkCopy 类怎么样

让您可以使用来自其他源的数据有效地批量加载 SQL Server 表。

Microsoft SQL Server 包括一个名为 bcp 的流行命令提示实用程序,用于将数据从一个表移动到另一个表,无论是在单个服务器上还是在服务器之间。SqlBulkCopy 类允许您编写提供类似功能的托管代码解决方案。还有其他方法可以将数据加载到 SQL Server 表中(例如 INSERT 语句),但 SqlBulkCopy 提供了比它们显着的性能优势。

于 2012-09-25T19:11:02.827 回答
0

我使用 Microsoft.SqlServer.management 命名空间中的 Server 对象来做同样的事情。它允许您在命令中使用 GO 字,其中使用 SqlCommand 它期望 SqlCommand 的每个实例代表一个命令。

using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

SqlConnection conn = new SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(script);
于 2012-10-03T18:34:49.530 回答