SqlBulkCopy und Schutz vor SQL-Injection

sqlbulkcopy sql-server

Frage

Ich muss mehrere Zeilen gleichzeitig (1000 Zeilen) in eine SQL Server-Datenbank einfügen. Ich denke, der beste Weg ist, SqlBulkCopy zu verwenden, aber ich bin mir nicht sicher, wie man Einfügungsabfragen parametrisiert, um von der SQL-Einspritzung sicher zu sein.

Kannst du mir bitte helfen? Was ist der beste Weg, mehrere Insert-Anweisungen auszuführen (SQL Injection Safe)?

Vielen Dank.

Expertenantwort

Die beste Methode zum Einfügen mehrerer Zeilen ist die Verwendung von SqlBulkCopy .

Die SqlBulkCopy-Klasse ist bereits vor SQL Injection geschützt. Du musst dir deswegen keine Sorgen machen.


Beliebte Antwort

Ich habe diese Lösung für mehrere Gelegenheiten verwendet, um mehrere Einfügungen durchzuführen: http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters

Beachten Sie, dass bei Tabellenwerttypen ein Problem mit der SQL Server-Sicherheit besteht. Sie müssen eine wonky-Syntax verwenden, um sie festzulegen:

grant execute on TYPE::dbo.tableType to role_or_user


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum