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ファイルにマップすることができます。

関連する問題