Te presento mi nuevo sitio web: ---------> "El Futuro de los Datos"

Aunque SQL Server Si!, seguirá activo, iré bajando la frecuencia de publicación.
Si quieres conocer todas las novedades que vaya publicando, te recomiendo que lo visites y te suscribas. Tengo un regalito para mi audiencia:

Tu primer Dashboard en "piloto automático" listo en 30 minutos
Sólo para suscriptores.
.

10 sept 2008

Integration Services - Namespaces por defecto al definir variables en un paquete según el idioma del BIDS

Hace unos días, realizando un proyecto de Integration Services con BIDS (Business Intelligence Developement Studio), me surgió un problema un tanto extraño, había definido una variable de usuario y a la hora de utilizarla me indicaba que no existía. Tras revisar y comprobar que el nombre, tanto en la definición de variables como en el lugar donde lo estaba usando estaba escrito de forma idéntica, todo me parecía muy extraño, no lograba entender porqué no me reconocía dicha variable.

Tras investigar el problema me di cuenta que estaba utilizando la variable “User::Var1” en mi componente, pero lo que realmente había definido era la variable “Usuario::Var1”, es decir, estaba usando un Namespace diferente en la definición de la variable y en el componente donde la estaba utilizando. ¿ Dónde estaba el problema ? pues en que habitualmente utilizo BIDS en inglés, donde el Namespace por defecto cuando se define una variable de usuario es “User”, mientras que en esta ocasión estaba utilizando la versión en español del producto donde el Namespace por defecto es “Usuario”. Como podéis comprobar, es una traducción desafortunada, es más, creo que es una traducción que nunca se debería haber hecho.

En principio me recordó la gran cantidad de problemas que ha ocasionado la traducción de las funciones de Excel, haciendo que una hoja de cálculo que utilice funciones genere errores si se abre con una versión en diferente idioma en el que se realizó. Por suerte aquí el problema es mucho más sencillo, con conocer este detalle lo podemos solucionar fácilmente, bien cambiando el nombre del Namespace en la definición de la variable, o bien utilizando el mismo Namespace que tiene dicha variable. En mi caso he optado, ya que estoy habituado a utilizar la versión en inglés del producto por cambiar el Namespace de todas las variables que defino a “User” en caso de que tenga que utilizar la versión en español, cosa que intento evitar :-)

1 comentario:

Jose Luis Garcia dijo...

Amigo buenas tardes, entre a tu blog y me parecio muy interesante los temas,estudio Ing de Sistemas y apenas nos etsan enseñando integration services, el docente nos pidio que hicieramos Un Etl,pero sin una tarea de limpieza sino mas bien ade actualizacion osea que cada vez q ejecute el ETL no se borre sino agregue los datos que pueda jalar de mi BD OLTP, investigue la sentencia MERGE pued ehacer eso de simplmente acutalizar si el dato ya s eencuentra y solo agrega los datos que no encuentre en la tabla destino, el problema es que el profesor dijo que se hace utilizando variables moviles en Integration Services pero soy primerizo y no se como seria , si es que podrias ayudamre te lo agradeceria, bueno gracias por la atencion , esperando una respuesta me despido

Google