22/1/2007 12:36
El Bruno
Analysis Services 2005 - Tinyint invalid Cast (algo mas que una palabra casi capicua)

Buenas
todavía estoy buscando la excusa para poder comprarme un Cube como el de la foto, pero parece que no tiene nada que ver con Analysis Services 2005; es otro tipo de cubo.
Mientras les dejo otro detallito que tal vez a alguien le ayude a solucionar un error que resulta no ser un error.
El problema surge cuando trabajamos con tablas que tienen un campo con el tipo Tinyint sigue sonando gracioso y pasamos este diseño a nuestro esquema de cubos. Cuando agregamos una tabla a nuestro Data Source View, Visual Studio convierte este tipo de campo a Integer; pero en realidad en las Fact Tables el tipo de dato sigue siendo un Tinyint. Supongo que a partir de aquí se darán cuenta de los problemas que podemos tener en esta situación que sólo son solucionados a través de mucha paciencia y noches de pizzas y cerveza en la oficina frente a Analysis Services 2005.
La solución es simple, crear una nueva columna calculada que que haga el cast de Integer a Tinyint; y utilizar este campo en lugar del campo original en nuestros diseños. Pero como somos bichos raros, lo mas interesante es conocer porque sucede esto: parece ser que el desarrollo interno de Analysis Services 2005 utiliza Microsoft XML Core Services para mantener los diseños y las estructuras de datos internas de los Data Source Views; debido a que Tinyint no es un tipo de dato "estandard" sino que es propietario de Microsoft SQL Server; el diseñador realiza automáticamente la conversión a Integer; y nosotros comenzamos a tener problemas de casting.
Si alguien tiene un problema con Integer y Tinyint ya sabe por donde empezar; y si encuentra algo más; me avisa !!!
Saludos
El Bruno
Archivado en: Visual Studio,Business Intelligence
Comparte este post: