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 de error 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 J
1 comment
Hola estimado:
Quisiera saber porque motivo uno cambia el namespace de la variable, ya que como tu indicas lo normal es que en ingles diga “user”, sin embargo en una variable vi que decia como namespace “LOG”. Quisiera saber si esto el desarrollador lo cambia con fines de diferenciar la variable?
Gracias por tu ayuda de antemano.
Saludos