0

i eine gespeicherte Prozedur wie folgt einfügen für Massen geschrieben auszuführen:Wie Bulk Insert Stored Procedure innerhalb Regler

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 

und ich will dieses SP auszuführen, wenn ich die spezifische Funktion in der Steuerung aufrufen zeigt es keine Fehler, aber es fügt auch keine Daten in die Datenbank ein. Meine Controller-Funktion ist dies:

[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(); 
} 

kann mir bitte jemand bitte sagen, was ich falsch mache?

+0

''E: \ BRDCEP_MIS \ BRDCEP_MIS \ Anwendungsdaten \ PSC \ NRSP.csv'' Ist es ein Pfad vom lokalen Rechner? – lad2025

+0

ja es funktioniert gut, wenn ich es als eine einfache Abfrage ausführen gibt es keinen Fehler –

Antwort

0

Wenn Sie versuchen, Daten einmalig auf Ihren SQL-Server hochzuladen, können Sie Sql Server Import Wizard verwenden. Wenn Sie eine Anwendung mit Bulk-Upload-Funktion erstellen, können Sie die Bulk Copy Class verwenden. Auf diese Weise können Sie Spalten in Ihrer SQL-Datenbank einer CSV-Datei zuordnen.