0
批量插入

我已经写了批量存储过程中插入这样的:如何执行存储过程中控制器

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

'E:\ BRDCEP_MIS \ BRDCEP_MIS \ App_Data \ PSC \ NRSP.csv''它是本地机器的路径吗? – lad2025

+0

是的,它工作正常,当我运行它作为一个简单的查询,它不会给出任何错误 –

回答

0

如果您尝试将数据作为一次性上载到您的SQL服务器,则可以使用Sql Server Import Wizard

如果您要创建具有批量上传功能的应用程序,则可以使用Bulk Copy Class。这使您可以将SQL数据库中的列映射到.CSV文件。