SqlBulkCopy y protección de inyección SQL

sqlbulkcopy sql-server

Pregunta

Necesito insertar varias filas al mismo tiempo (1000 filas) en una base de datos de SQL Server. Creo que la mejor manera es usar SqlBulkCopy pero no estoy seguro de cómo parametrizar las consultas de inserción para estar a salvo de la inyección de SQL.

¿Podrías ayudarme? ¿Cuál es la mejor manera de realizar varias instrucciones de inserción (inyección SQL segura)?

Gracias.

Respuesta experta

La mejor manera de insertar varias filas es mediante SqlBulkCopy .

La clase SqlBulkCopy ya está a salvo de la inyección SQL. Así que no tienes que preocuparte por esto.


Respuesta popular

He utilizado esta solución en varias ocasiones para realizar múltiples inserciones: http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters

Tenga en cuenta que existe un problema con la seguridad del servidor SQL para los tipos de valores de tabla. Necesitas usar una sintaxis no deseada para configurarlos:

grant execute on TYPE::dbo.tableType to role_or_user


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow