none
IIS borra conexion a BD SQL Server RRS feed

  • Pregunta

  • Buen día, tengo una aplicación  ASP.NET + C#+SQL SERVER en modo capas, existe una clase en la que se establece la cadena de conexión a la BD en MS SQL Server, cuando ejecuto la aplicación en Visual Studio 2010 todo ocurre perfectamente, cargan los datos, sin embargo, cuando lo publico vía IIS  corriendo en un Windows 2008 no me cargan los datos, SQL tiene activa la autenticación de Windows y SQL, cuáles serían los posibles motivos,

    Gracias por su tiempo : )

    sábado, 1 de agosto de 2015 22:03

Respuestas

  • [...] cuando lo publico vía IIS [...] SQL tiene activa la autenticación de Windows y SQL

    Un posible motivo es que en la cadena de conexión tengas puesta autenticación de Windows (y no de SQL, pese a que en el propio SQL esté habilitada). Esto funcionaría en Visual Studio porque la aplicación se ejecuta con las credenciales del usuario que está rodando Visual Studio, que probablemente tiene todos los permisos sobre el SQL Server. Pero cuando la publicas en IIS, utiliza las credenciales del Pool (y no las del usuario), y la cuenta del Pool casi seguro que no la tienes habilitada en el SQL Server.

    Tiene múltiples soluciones. La más sencilla probablemente sea cambiar la cadena de conexión para que use credenciales de SQL Server en lugar de autenticación integrada (y obviamente dentro del servidor SQL darle los permisos necesarios a dichas credenciales).

    domingo, 2 de agosto de 2015 9:52

Todas las respuestas

  • ¿Cuál es tu cadena de conexión? ¿Utilizas autenticación Windows?

    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    domingo, 2 de agosto de 2015 6:17
  • [...] cuando lo publico vía IIS [...] SQL tiene activa la autenticación de Windows y SQL

    Un posible motivo es que en la cadena de conexión tengas puesta autenticación de Windows (y no de SQL, pese a que en el propio SQL esté habilitada). Esto funcionaría en Visual Studio porque la aplicación se ejecuta con las credenciales del usuario que está rodando Visual Studio, que probablemente tiene todos los permisos sobre el SQL Server. Pero cuando la publicas en IIS, utiliza las credenciales del Pool (y no las del usuario), y la cuenta del Pool casi seguro que no la tienes habilitada en el SQL Server.

    Tiene múltiples soluciones. La más sencilla probablemente sea cambiar la cadena de conexión para que use credenciales de SQL Server en lugar de autenticación integrada (y obviamente dentro del servidor SQL darle los permisos necesarios a dichas credenciales).

    domingo, 2 de agosto de 2015 9:52
  • Que tal,

    Puedes haber muchos escenarios, como esta la arquitectura de tu aplicación? usas servicios? al publicar tu servicio en IIS este se configura con un usuario del Servidor, este usuario debe tener acceso a tu BD de ser el caso como dbowner, al probarlo localmente como te comentaron realizas la conexión como trusted conection usando tu cuenta Windows.

    Saludos!


    Ayacucho - Perú
    Recuerda si mi solución atiende tu consulta por favor márcala como útil y como respuesta.

    http://litigiouslobo.blogspot.com/
    El Blog de Herbert Mendoza

    • Editado Nathán XS domingo, 2 de agosto de 2015 14:43
    domingo, 2 de agosto de 2015 14:42