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

#1 Alejandro Mesa
11/08/2008 - 18:47 | Informe spam
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




Respuesta Responder a este mensaje
#2 John Alexander
11/08/2008 - 20:22 | Informe spam
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
>
>
>
>
Respuesta Responder a este mensaje
#3 Gustavo Larriera (MVP)
11/08/2008 - 20:30 | Informe spam
Capaz que es muy tonto lo que digo:

Si usted espera recibir valores duplicados en una columna de la tabla
destino, para qué le puso a dicha columna un índice de tipo Unique? Elimine
dicho índice o bien asegúrese que los datos recibidos no tengan duplicados.

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"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
> >
> >
> >
> >
Respuesta Responder a este mensaje
#4 Fredy Rivera
11/08/2008 - 21:57 | Informe spam
Estoy de acuerdo con Gustavo... si no hay necesidad de mantener los Unique
en el campo destino, es mejor deshabilitar esa opcion de pronto con
informaicon mas detallada sobre la necesidad de utilizar dicha
caracteristica, te podamos ayudar...

Salludos desde Colombia...
Fredy(co)

"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
> >
> >
> >
> >
Respuesta Responder a este mensaje
#5 Alejandro Mesa
11/08/2008 - 22:42 | Informe spam
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
> >
> >
> >
> >
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida