我已经为这样的批量插入编写了一个存储过程:
USE [BRDCEP_MIS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create proc dbo.SP_BulkInsertPsc
as
begin
BULK INSERT BrdcepPscData
FROM 'E:\BRDCEP_MIS\BRDCEP_MIS\App_Data\PSC\NRSP.csv'
WITH
(
FIRSTROW = 2 ,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
end
GO
我希望在我调用控制器中的特定功能时执行此SP,它显示没有错误,但它也没有将数据添加到数据库中。我的控制器功能是:
[HttpGet]
public ActionResult ImportPSCData()
{
using (ApplicationDbContext db = new ApplicationDbContext())
{
db.Database.ExecuteSqlCommand("TRUNCATE TABLE BrdcepPscData");
var a = db.Database.SqlQuery<int>("Sp_BulkInsertPsc");
}
return View();
}
任何人都能告诉我我做错了吗?
答案 0 :(得分:0)
如果您尝试将数据作为一次性上传到SQL服务器,则可以使用Sql Server Import Wizard。
如果您要创建具有批量上传功能的应用程序,则可以使用Bulk Copy Class。这允许您将SQL数据库中的列映射到.CSV文件。