Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

332
Vistas
¿Cómo conectarse al servidor Tabular Cube usando las credenciales proporcionadas en una cadena de conexión?

Microsoft dice:

https://docs.microsoft.com/en-us/analysis-services/instances/connection-string-properties-analysis-services?view=asallproducts-allversions

"Al conectarse a través de TCP a SSAS, la biblioteca del cliente se hará pasar por el usuario de Windows utilizando el nombre de usuario y la contraseña especificados y luego se conectará como de costumbre al servidor".

"Al conectarse a través de HTTP(S) a SSAS, las credenciales se proporcionan al servidor web en función del modo de autenticación configurado en el servidor web, por ejemplo, autenticación básica o autenticación de Windows. El servidor web realizará la suplantación de identidad de Windows adecuada antes de conectarse a el servidor SSAS, por lo que proporciona el flujo de credenciales correcto al servidor".

Sin embargo, cuando hago esto:

 using Tabular = Microsoft.AnalysisServices.Tabular; using (Tabular.Server server = new Tabular.Server()) { //connectionString = "Provider=MSOLAP;DataSource=ServerIP;UserID=xx;Password=xx;Persist Security Info=True;Impersonation Level=Impersonate;" server.Connect(connectionString); }

Utiliza las credenciales de mi cuenta de usuario que ejecuta el código, no el ID de usuario y la contraseña en ConnectionString.

¿Cómo puedo hacer que se conecte a través de "TCP"?

ACTUALIZACIÓN: usando la sugerencia de @GregGalloway y la lógica de aquí : he implementado una clase Impersonator. Con él he actualizado mi código para hacer lo siguiente:

 using (Tabular.Server server = new Tabular.Server()) { using (new Impersonator("UserName", "Domain", "Password")) { server.Connect(connectionString); } }

Desafortunadamente, cuando perfilo la llamada al servidor SSAS, puedo ver que todavía usa las mismas credenciales que antes y que la conexión con el servidor es exitosa, independientemente de que se pasen las credenciales al constructor. Al revisar el código, puedo ver que no se lanzan excepciones en ningún momento.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si su aplicación o aplicación web aún no se está ejecutando con esas credenciales, deberá suplantar esa identidad en su código antes de conectarse. Aquí hay un ejemplo .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda