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

0 Shares:
1 comment
  1. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like
Leer más

Evalúa el impacto que tiene tu proyecto de Power BI

Ya sabemos que cuando una empresa tiene que decidir si se lanza o no a invertir en un proyecto de Business intelligence tiene que encontrar las respuestas a todas las preguntas que le surgen sobre su eficacia: "¿realmente le vamos a sacar partido?", "¿nos dará la información que necesitamos?", "¿nos va a reportar beneficios?"... En muchos casos a las empresas les resulta complicado tener la respuesta a todas estas preguntas, sobre todo cuando nos encontramos en las primeras fases del proyecto. Pero, ¿y cuando está ya está funcionando? Surgen nuevas preguntas: "Sí, todos estos gráficos están muy bien, pero: ¿realmente me dicen lo que quiero saber?, ¿estoy acertando con estos informes?, ¿se utilizan dentro de la empresa o es dinero tirado?..."

Nuevas funciones para el lenguaje de expresiones de SSIS en SQL 2012

El lenguaje de expresiones de Integration Services podemos utilizarlo en columnas derivadas, expresiones en propiedades de componentes, tareas, administradores de conexión, variables, en la nueva Expression Task, etc…  Tiene su propia sintaxis, operadores, conjuntos de funciones, etc.. (se observan similitudes con las expresiones de C++). En la versión de SQL 2012 se han agregado tres nuevas funciones que se engloban en el conjunto de funciones para el tratamiento de cadenas: Left, Token y TokenCount.