none
Problemas con ADOMD (Imposible conectar) RRS feed

  • Pregunta

  • Hola a todos, espero que alguno de ustedes me pueda ayudar con un problema que tengo; la verdad necesito solucionarlo de manera urgente y la documentación que he encontrado en internet es bastante escaza (Por lo menos para mi problema).

    El problema es el siguiente:

    Desde una aplicación ASP.NEt 2.0 estoy tratando de conectarme a una base de datos de analysis sevices (Sql 2005) mediante ADOMD pero al tratar de conectar me sale un mensaje diciendome que "O el uusuario no tiene permisos o la Base de datos no Existe" - "Either the user, PC\User, does not have access to the Adventure Works DW database, or the database does not exist." Estoy haciendo pruebas con unos cubos que arme de la base Adbenture Works DW. La siguiente es la cadena de conexión: "Data Source = PC\User; Catalog= Adventure Works DW;Integrated Security=SSPI ".

    La verdad estoy desdesperado, he intentado de todo, revise los permisos que tiene el usuario con la base de datos relacional (AdventureWorksDw), pero lo que pude leer (de la poca documentación que he encontrado) la seguridad de la base del lado de Analysis services es diferente a la de la base relacional. Tambien inente (teniendo en cuenta el alto riezgo de seguridad) colocar el usuario como administrador de la máquina, tambien lo coloque como dbo en la base. etc. He intentado de todo.

    Si alguno de ustedes sabe como solucionar el problema, le agradezco en el alma.

    Muchas gracias.

    Camilo Bernal
    miércoles, 5 de marzo de 2008 17:42

Respuestas

  • Hola nuevamente, dado que ya encontre solución a mi problema, opte por responderme a mi mismo con el fin de que si a alguien se le presenta el mismo problema encuentre herramientas para solucionarlo.

    El problema que tenia al no conectar, se debia a que estaba tratando de realizar una conexión a la base de datos con el nombre que dicha base de datos tenia en el motor de base de datos y no con el nombre que le habia dado en el motor de Analysis Services.

    Me explico mejor:

    Yo supuse que como el código MDX de la consulta era el siguiente:

    SELECT  non empty
    ([Customer].[First Name].members) on rows ,
    ([Measures].[Recuento Internet Sales])on columns from [Adventure Works DW]

    Entonces trataba de conectarme a la base de datos "Adventure Works DW" que es el nombre que se le da a la base del motor de base de datos desde Analysis Services, pero realmente el nombre que debe aparecer en la cadena de conexión es el nombre que tiene la base de datos en Analysis Services (Que puede ser diferente al del motor).

    La cadena de conexión que finalmente me funcionó fue la siguiente:

    Provider=SQLNCLI.1;Data Source=PC\User;Password=myPass;User ID=sa;Initial Catalog=PruebadeAnalysisServices

    donde "PruebadeAnalysisServices" es el nombre de la base de datos como aparece en Analysis Services.


    Una vez solucionado el problema, y ya un poco más calmado, le encontre mucho sentido a esto: Puedo tener una base de datos en el motor de base de datos y 0 o más bases de datos en Analysis Services que tomen los datos de la primera.

    Supongo que en algún lado debe estar documentado esto, sin embargo, y debido a que mi trabajo es netamente empírico, me toca aprender a los "Golpes".

    Espero que mi experiencia con este problema le sirva a otros para poder solucionar problemas similares.

    Cordialmente,


    Camilo Bernal


    jueves, 6 de marzo de 2008 13:52