Ayuda con [DT_GUID] en SSIS 2005

11/08/2008 - 18:24 por John Alexander | Informe spam
Estoy realizando un paquete de integración con SSIS 2005, cree un Derived
Column Tranformation y agregue un campo pero este campo debe ser autonumerico
y en la expresión le agregue el DT_GUID y al ejecutarlo me saca error. No se
si alguien me pueda ayudar con esto para poder generar el autonumerico o como
debe ser la expresión correcta para generar este autonumerico.

Gracias

Saludos


{ John Alexander Bulla Torres }
Core Group BogotaDotNet
http://johnbulla.spaces.live.com

Preguntas similare

Leer las respuestas

#6 John Alexander
12/08/2008 - 23:10 | Informe spam
Ok, comparto lo que me dice Gustavo y seria la solución mas facil pero en si
el modelo requiere de ese indice unico. Voy a probar lo que dices Alejandro.

Gracias por su colaboración.

Saludos

John Alexander


"Alejandro Mesa" wrote:

John Alexander,

Me parece muy logico el comentario de Gustavo.

Al parecer la columna acepta valor NULL, pero existe un indice unico por
ella, correcto?

De ser asi tendras que recurrir a otros metodos para enforzar esa
restriccion, como crear una vista para las filas donde el valor de esa
columna no sea NULL e indexar la vista. Tambien pouedes agregar una columna
calculada que tome el valor de la clave primaria si el valor de esa columna
es null y poner una restriccion de unicidad.

Ejemplo:

create table dbo.t (
c1 int not null identity primary key,
c2 int null,
c3 as isnull(c2, c1) constraint uq_t_c3 unique
)
go

insert into dbo.t(c2) values(null)
insert into dbo.t(c2) values(10)
insert into dbo.t(c2) values(null)
go

select * from dbo.t
go

insert into dbo.t(c2) values(10)
go

select * from dbo.t
go

alter table dbo.t
drop constraint uq_t_c3
go

alter table dbo.t
drop column c3
go

create view dbo.vw_v1
with schemabinding
as
select c2
from dbo.t
where c2 is not null
go

create unique clustered index vw_v1_c2_u_c_ix
on dbo.vw_v1(c2)
go

insert into dbo.t(c2) values(null)
go

insert into dbo.t(c2) values(10)
go

select * from dbo.t
go

drop view dbo.vw_v1
go

drop table dbo.t
go

AMB


"John Alexander" wrote:

> Hola Alejandro, el escenario es el siguiente:
>
> Tengo una tabla origen con apenas dos campos y una tabla de destino como con
> 10 campos aproximadamente, por eso utilice la columna derivada para poder
> completar los otros campos ya que muchos son not null de tipo string y entero
> y efectivamente tiene un PK donde no es necesario mapearlo ya que me lo
> genera automáticamente, hasta acá no hay problema, el problema es que la
> tabla de destino en unos de sus campos tiene un índice (Unique,
> Non-Clustered) y cuando ejecuto el paquete de transformación me saca el error
> de que no pueden haber valores duplicados en dicho campo. La solución que me
> dieron era que en esa columna generara un autonumérico. Entonces me surgen
> las siguientes dudas: Si utilizando el DT_GUID puedo solucionar este
> inconveniente y si es así como seria la expresión para agregarla en la
> columna derivada? O si existe otra solución?
>
> Alejandro gracias por tu colaboración
>
> Saludos
>
> { John Alexander Bulla Torres }
> Core Group BogotaDotNet
>
> http://johnbulla.spaces.live.com
>
>
> "Alejandro Mesa" wrote:
>
> > John Alexander,
> >
> > Cual es el proposito de esa columna derivada?
> >
> > Si la tabla destino tiene una columna con propiedad "identity", entonces no
> > es necesario pre-calcular ese valor.
> >
> >
> > AMB
> >
> >
> > "John Alexander" wrote:
> >
> > > Estoy realizando un paquete de integración con SSIS 2005, cree un Derived
> > > Column Tranformation y agregue un campo pero este campo debe ser autonumerico
> > > y en la expresión le agregue el DT_GUID y al ejecutarlo me saca error. No se
> > > si alguien me pueda ayudar con esto para poder generar el autonumerico o como
> > > debe ser la expresión correcta para generar este autonumerico.
> > >
> > > Gracias
> > >
> > > Saludos
> > >
> > >
> > > { John Alexander Bulla Torres }
> > > Core Group BogotaDotNet
> > > http://johnbulla.spaces.live.com
> > >
> > >
> > >
> > >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida