Usa de Transacciones

10/01/2007 - 17:07 por Omar | Informe spam
Que tal, el motivo de este mail es para pedir ayuda respecto al uso de
transacciones, a continuación explico mi problema.

Tengo que realizar una aplicación que lea los datos de un archivo de
texto con el siguiente formato:

01/01/2007*123456*121
01/01/2007*123456*1654
01/01/2007*123456*123444
.

Este archivo se debe de cargar por día y me tengo que asegurar que todos
y cada uno de los datos del archivo se guardaron en la BD, es decir, lo
que hago es leer líea por línea el archivo y después separo la
información para guardarla en los campos correspondientes de la BD, al
momento de ir separando la información la voy guardándo en la bd con un
sp que muestro en la parte de abajo, pero yo necesito asegurarme que
cada una de las líeas del archivo se gurdó correctamente en el archivo
de texto es decir que si al leer la última línea hubo un error y ese
registro no se pudo guardar en la BD por x motivo, entonces hacer que
los demas tampoco se guarden en la BD para así volver a cargar el
archivo hasta que todos los datos se guarden correctamente, entonces
creo que para realizar esto es necesario implementar transacciones
entonces mi pregunta es:

Para que esto suceda tan solo es necesario hacer lo siguiente dentro de
mi sp?

/*Bastaría utilizar BEGIN TRAN y COMMIT TRAN dentro de este sp para
asegurarme que todos y cada uno de los datos del archivo de texto fueron
guardados en la BD?


CREATE PROCEDURE pc_Transaccion
@cDepdate varchar(20),
@ccustid varchar(20),
@crefnbr varchar(20)
AS
BEGIN TRAN
INSERT INTO Transaccion (cDepdate, ccustid, crefnbr)
VALUES (@cDepdate, @ccustid, @crefnbr)
COMMIT TRAN

Se les agradecería mucho cualquier ayuda al respecto.
 

Leer las respuestas

#1 Omar
10/01/2007 - 18:36 | Informe spam
Isaias escribió:
Omar

Para subir informacion a tu base de datos que este alojada en archivos texto
plano, debes utilizar BULK INSERT (BCP.EXE o DTS), lo subes a una tabla de
paso y de ahi, aplicas directamente a tus tablas destino.

No requieres de realizar ninguna aplicacion para leer tus archivos
linea-a-linea y subirlos a tu base.



Que tal Isaias, gracias por tu respuesta, pero serías tan amable de
pasarme algún link o algún ejemplo de como usar el BCP.

Muchas gracias.

Preguntas similares