Volcar una Datatable a SQL.

21/09/2007 - 17:32 por Marcelo Clavero | Informe spam
Estimados:

En una aplicación ASP.NET 2.0 tengo una Datatable que la quiero impactar
sobre una tabla SQL 2000 (ambas tienen idéntica estructura), y esto lo debo
hacer mediante un Store Procedure.

Una solución muy precaria sería que el SP reciba como parámetros cada campo
del registro y hacer un INSERT para cada registro (1 x vez).lo cual
implica conectarse a la base tantas veces como registros haya en al
DataTable. brrrrr
Me rehuso a hacer tal cosa.

Por ahi leí que el SQL 2005 tiene una estructura de variable tipo "Tabla"
pero debo usar el SQL 2000 si o si.
Hay alguna estructura de datos (tipo tabla, matriz, etc) que se pueda
recibir como parámetro en un SP ????
Qué solución me recomiendan ????

Desde ya muchas gracias.
Y reciban mis saludos.

Marcelo

Preguntas similare

Leer las respuestas

#6 Beto
22/09/2007 - 02:00 | Informe spam

Tendras que esperar a que salga SQL Server 2008, donde tendremos parametro
tipo tabla.



Me imagino que sería para pasarla dentro de un script de SQL o de un SP que
llame a otro SP pero cómo sería pasar una tabla desde una aplicación ?


Beto
Respuesta Responder a este mensaje
#7 Enrique Catala Bañuls
22/09/2007 - 15:04 | Informe spam
Hola, para hacer eso lo mejor que puedes hacer es un SqlBulkCopy.
Efectivamente, el DataAdapter ejecuta el sp de insercion una vez por cada
fila del DataTable por lo que si en tu DataTable siempre hay muchas filas
nuevas lo mejor es hacer una carga masiva.

Ten en cuenta que si utilizas esta forma, la carga masiva es NO
TRANSACCIONAL, por lo que no vas a poder hacer rollback.

Aqui tienes un ejemplo:
http://www.sqlteam.com/article/use-...sql-server

Salu2!

Atentamente, Enrique Catala Bañuls


"Marcelo Clavero" wrote:

Estimados:

En una aplicación ASP.NET 2.0 tengo una Datatable que la quiero impactar
sobre una tabla SQL 2000 (ambas tienen idéntica estructura), y esto lo debo
hacer mediante un Store Procedure.

Una solución muy precaria sería que el SP reciba como parámetros cada campo
del registro y hacer un INSERT para cada registro (1 x vez).lo cual
implica conectarse a la base tantas veces como registros haya en al
DataTable. brrrrr
Me rehuso a hacer tal cosa.

Por ahi leí que el SQL 2005 tiene una estructura de variable tipo "Tabla"
pero debo usar el SQL 2000 si o si.
Hay alguna estructura de datos (tipo tabla, matriz, etc) que se pueda
recibir como parámetro en un SP ????
Qué solución me recomiendan ????

Desde ya muchas gracias.
Y reciban mis saludos.

Marcelo



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida