我有一个在SQL中运行良好的批量插入。
我无法弄清楚如何让SQL代码在C#中工作。
CMD.CommandText = "???"
我已经尝试了很多想法并且不断出错。批量插页如下:
Use Lab2
GO
BULK
INSERT [dbo].[tmpPerson]
FROM 'C:\Temp\Input2.txt'
WITH (
ROWTERMINATOR ='\n');
答案 0 :(得分:3)
允许您使用来自的数据有效地批量加载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);