SqlBulkCopy et protection contre l'injection SQL

sqlbulkcopy sql-server

Question

J'ai besoin d'insérer plusieurs lignes en même temps (1000 lignes) dans une base de données SQL Server. Je pense que le meilleur moyen est d'utiliser SqlBulkCopy mais je ne suis pas sûr de savoir comment paramétrer des requêtes d'insertion pour être sûr de l'injection SQL.

Pouvez-vous m'aider s'il vous plaît? Quel est le meilleur moyen d’exécuter plusieurs instructions d’insertion (sans risque d’injection SQL)?

Je vous remercie.

Réponse d'expert

Le meilleur moyen d'insérer plusieurs lignes consiste à utiliser SqlBulkCopy .

La classe SqlBulkCopy est déjà protégée contre l'injection SQL. Donc, vous n'avez pas à vous soucier de cela.


Réponse populaire

J'ai utilisé cette solution à plusieurs reprises pour effectuer plusieurs insertions: http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters

N'oubliez pas qu'il existe un problème de sécurité du serveur SQL pour les types à valeur table. Vous devez utiliser une syntaxe wonky pour les définir:

grant execute on TYPE::dbo.tableType to role_or_user


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow