如何将此SQL代码输入.NET

时间:2012-09-25 19:09:32

标签: c# .net sql

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

我无法弄清楚如何让SQL代码在C#中工作。

CMD.CommandText = "???"

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

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

2 个答案:

答案 0 :(得分:3)

如何查看SqlBulkCopy Class

  

允许您使用来自的数据有效地批量加载SQL Server表   另一个来源。

     

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

答案 1 :(得分: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);