Importación de Datos.

06/09/2004 - 23:06 por SHS | Informe spam
En blancoHola, les hago una consulta para ver si me pueden ayudar...
Tengo una aplicación que incorpora datos a diferentes tablas a partir de un
archivo de texto plano (aproximadamente 50000 registros por día).
Hice unas pruebas con la herramienta para Importar y Exportar datos de SQL
Server 2000 y la velocidad ha sido optima, pero el problema es que el
archivo de texto tambien contiene registros modificados que provocan que se
la clave principal se duplique y por lo tanto provoca un error en la
importación. Por este motivo tuve que hacer una aplicación que haga primero
un UPDATE y si no obtengo ningun registro actualizado como resultado realizo
el INSERT.
El inconveniente que se me presenta aquí es el tiempo que demora en
actualizar los registros con respecto a la herramienta para Importar y
Exportar datos de SQL Server 2000 (4 Horas contra 10 minutos).

Preguntas:
1- ¿la herramienta para Importar y Exportar datos me permite realizar
Actualizaciones de registros (UPDATES) ?
2- Leí documentación de MySQL y encontré un comando parecido a esto: INSERT
. ON DUPLICATE KEY UPDATE . ¿Existe algo así en MS-SQL?

Aunque las respuestas a estas preguntas sean negativas acepto cualquier
sugerencia.

Por las dudas les comento que estoy usando la versión 8.00.760 (SP3).



Muchas Gracias por la atención.

Gustavo.

Preguntas similare

Leer las respuestas

#1 Isaías
06/09/2004 - 23:33 | Informe spam
Amigo

No se que este utilizando para subir sus archivos texto,
pero en mi caso, hago lo mismo, subo información que me
llega de diferentes bases de datos y lo que hago es:

Mediante BULK INSERT y teniendo como base un archivo de
definicion, subo la información de los archivos texto a
una tabla de PASO y de ahi, hacia su tabla destino, ahi es
donde podria aprovechar para hacer un UPDATE/INSERT
dependiendo de las condiciones de busqueda.

Saludos
Respuesta Responder a este mensaje
#2 Adrian D. Garcia
07/09/2004 - 03:34 | Informe spam
Podria intentar lo siguiente:

0) Eliminas todas las filas de una tabla de trabajo (ver punto 1)
1) Importas el archivo de texto con el comando BCP a una tabla de trabajo.
2) Realizas un UPDATE sobre la tabla principal haciendo un JOIN con la tabla
de trabajo
3) Realizas un INSERT ... SELECT sobre la tabla principal pero esta vez
realizando JOIN buscando las filas que no existen en la tabla principal.


Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"SHS" wrote in message
news:
En blancoHola, les hago una consulta para ver si me pueden ayudar...
Tengo una aplicación que incorpora datos a diferentes tablas a partir de


un
archivo de texto plano (aproximadamente 50000 registros por día).
Hice unas pruebas con la herramienta para Importar y Exportar datos de SQL
Server 2000 y la velocidad ha sido optima, pero el problema es que el
archivo de texto tambien contiene registros modificados que provocan que


se
la clave principal se duplique y por lo tanto provoca un error en la
importación. Por este motivo tuve que hacer una aplicación que haga


primero
un UPDATE y si no obtengo ningun registro actualizado como resultado


realizo
el INSERT.
El inconveniente que se me presenta aquí es el tiempo que demora en
actualizar los registros con respecto a la herramienta para Importar y
Exportar datos de SQL Server 2000 (4 Horas contra 10 minutos).

Preguntas:
1- ¿la herramienta para Importar y Exportar datos me permite realizar
Actualizaciones de registros (UPDATES) ?
2- Leí documentación de MySQL y encontré un comando parecido a esto:


INSERT
. ON DUPLICATE KEY UPDATE . ¿Existe algo así en MS-SQL?

Aunque las respuestas a estas preguntas sean negativas acepto cualquier
sugerencia.

Por las dudas les comento que estoy usando la versión 8.00.760 (SP3).



Muchas Gracias por la atención.

Gustavo.


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