Title: Insert con DTS
Yo tuve un tema similar...y si la cantidad de errores es bastante...el DTS aborta.
La propiedad que conozco es para que aborte en el primer error (que no es lo que vos necesitas).

Para solucionarlo carge sobre una tabla temporal los datos del TXT y luego con 2 sql sencillos inserte o actualice los datos segun corresponda

Este es un ejemplo de los SQL que utilice

begin transaction
go

insert into miTabla
select x.*
from
 tmpTabla x left outer join miTabla t on (x.id = t.id)
where
 t.id is null
go

update miTabla
set
 camp1 = x.camp1,
 camp2 = x.camp2
from
 tmpTabla x
where
 miTabla.id = x.id
go

commit transaction
go


Esto lo agrege como un Task más dentro del DTS.

Creo que esto es mucho más barato en tiempo y recursos de Server que tener que armar un cursor...pensa que esto hace todo en forma multiple..y no uno por uno.

Saludos,
Diego.-







PAPAGNI Luis CIPA wrote:

Foro:

Tengo un txt (o un excel, para el caso es lo mismo) con un monton de codigos que tengo que volcar a una tabla, la cual tiene como clave, justamente el código que viene en el txt… la pregunta concreta es… como hago para que el DTS no frene cuando trate de insertar uno de los codigos que ya esta en tabla??? Es decir cuando quiere hacer el insert y no puedo (por constrain) que continue igual probando con el siguiente código. Hoy cuando lo hago la transformación me da error por clave duplicada y no carga.
Existe una mejor forma (más practica, tal vez con alguna propiedad de transformación que desconozca) que baje todo a una temporal y por medio de un stored y cursores utilizando la funcion exist hacer el insert o el fetch next?

Desde ya muchas gracias
Saludos


_________________________________________________
Luis M. Papagni
Ingeniero en Sistemas de Información
TPS - Ternium Siderar
(221) 460.1732 int 66279
* - [EMAIL PROTECTED]



--

SISTEMATICA ingenieria de software srl
Diego Campos
Pasco 1675 (2000) Rosario, Santa Fe, Argentina.
Tel./Fax: +54 (341) 485-1432 / 568-0183

Responder a