¿Es posible usar SqlBulkCopy para insertar información en una vista en 2 tablas?

c# sqlbulkcopy sql-server

Pregunta

Me estoy moviendo para usar SqlBulkCopy para tratar grandes inserciones en algunas bases de datos. Esto ha llevado a grandes mejoras de rendimiento para una db.

Sin embargo, otra tabla db dirigida es una vista que compone 2 tablas. La aplicación del código de una sola tabla lleva a "System.Data.SqlClient.SqlException: la vista o función 'dbo.vwParameter' no es actualizable porque la modificación afecta a varias tablas base". Es posible aplanar la vista en una tabla sin causar muchas complicaciones, aunque no es deseable porque ahorra una buena cantidad de espacio en el disco.

Entonces, ¿es posible usar SqlBulkCopy en este contexto, y simplemente estoy haciendo algo mal? O si no, ¿cuál podría ser una buena solución alternativa que conserve la vista para la lectura?

Respuesta aceptada

Resultó que SqlBulkCopy ignoró mi en lugar de los disparadores por defecto. Todo lo que tenía que hacer era pasar SqlBulkCopyOptions.Fire Triggers al constructor de SqlBulkCopy.


Respuesta popular

Puedes usar la vista con SqlBulkCopy.
Pero creo que su problema es que la vista que tiene no es actualizable.
Hay ciertos requisitos que la vista debe cumplir para poder actualizarse.
Puede encontrar más información aquí http://msdn.microsoft.com/en-us/library/ms187956.aspx
Busque la sección 'Vistas actualizables'.

Le sugiero que rellene cada una de esas dos tablas directamente, una a la vez, si es posible.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué