PRB: Error 0x80040E4D "Error de inicio de sesión del usuario '(Null)'" de ASP/ODBC/SQL Server

Síntomas

Si intenta utilizar un nombre de origen de datos (DSN) ODBC para abrir una conexión de objetos de datos ActiveX (ADO) con una base de datos de SQL Server desde una página Active Server (ASP), puede recibir un mensaje de error similar al siguiente:
Proveedor Microsoft OLE DB para controladores ODBC (0x80040E4D)
[Microsoft][Controlador ODBC de SQL Server][SQL Server] Error de inicio de sesión para el usuario '(null)'. Motivo: no está asociado a una conexión de SQL Server de confianza.

Causa

Este error se puede producir en las circunstancias siguientes:
  • Está intentando establecer una conexión de confianza y la cuenta de usuario de Microsoft Windows NT o de Windows 2000 que Internet Information Server (IIS) utiliza para procesar la solicitud para la página ASP no tiene un inicio de sesión con la autenticación de Windows NT correspondiente en SQL Server.
  • Está intentando utilizar la autenticación de SQL Server estándar para establecer una conexión y el parámetro UID no se especifica en la cadena de conexión ADO.

Solución

Para resolver este problema, utilice uno de los métodos siguientes:
  • Compruebe que existen un inicio de sesión de SQL Server con la autenticación de Windows y la cuenta de usuario de Windows NT o Windows 2000 que IIS utiliza para procesar la solicitud de la página ASP. Si no existe un inicio de sesión, utilice el Administrador corporativo de SQL Server para crearlo.Para obtener información adicional acerca de cómo configurar inicios de sesión de SQL Server con la autenticación de Windows NT que usen las páginas ASP, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    247931 INF: Métodos de autenticación para las conexiones a SQL Server en ASP
  • Asegúrese de incluir el parámetro de cadena de conexión Trusted_Connection=yes en la cadena de conexión ADO. Si no incluye este parámetro, el error mencionado se produce aun cuando la cuenta de usuario de Windows NT o Windows 2000 que se utilice para procesar la solicitud de la página ASP tenga un inicio de sesión con la autenticación de Windows correspondiente en SQL Server.
  • Asegúrese de especificar los parámetros de cadena de conexión UID y PWD si desea utilizar la autenticación de SQL Server estándar para establecer una conexión a una base de datos. Debe especificar estos parámetros incluso si las propiedades de configuración del DSN están establecidas para utilizar la autenticación de SQL Server estándar. Si no especifica estos parámetros, IIS intenta abrir una conexión de confianza con la base de datos.

    Para utilizar la autenticación de SQL Server estándar para establecer una conexión, es esencial que configure la seguridad en el servidor SQL Server de destino para permitir la autenticación en modo mixto (de Windows NT y SQL Server). Si especifica un UID válido y omite el parámetro PWD en la cadena de conexión, cuando el identificador de usuario especificado contenga una contraseña que no esté en blanco, recibe el mensaje de error siguiente:
    Error '80040e4d' en el proveedor Microsoft OLE DB para controladores ODBC (0x80040E4D)
    [Microsoft] [Controlador ODBC de SQL Server] [SQL Server] Error en el inicio de sesión del usuario <Id. de usuario de SQL Server especificado en la cadena de conexión>.

Estado

Este comportamiento es una característica del diseño de la aplicación.

Más información

El mecanismo de autenticación que el servidor Web utiliza para autenticar la solicitud del usuario determina la cuenta de usuario de Windows NT o Windows 2000 que IIS usa para procesar una solicitud de una página ASP. Por ejemplo, al utilizar la autenticación anónima, para procesar la solicitud del usuario se usan las credenciales de la cuenta anónima de IIS configurada (que es ISR_<nombreDeServidorWeb> de forma predeterminada). Al utilizar la autenticación básica, Microsoft Internet Explorer pide al usuario que proporcione el identificador y la contraseña de un usuario de red de Windows NT o Windows 2000 válido cuyas credenciales se utilizan a continuación para procesar la solicitud.

Consulte la documentación de IIS en línea para obtener información adicional sobre los mecanismos de autenticación compatibles y cómo funcionan.

Referencias

Para obtener información adicional al respecto, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
176377 INFO: Acceso a SQL Server con seguridad integrada desde ASP
Propiedades

Id. de artículo: 307002 - Última revisión: 11 jul. 2008 - Revisión: 1

Comentarios