Microsoft KB Archive/307002

= PRB: ASP/ODBC/SQL Server Error 0x80040E4D &quot;Login Failed for User '(Null)'&quot; =

Article ID: 307002

Article Last Modified on 7/16/2004

-

APPLIES TO


 * Microsoft Data Access Components 2.0
 * Microsoft Data Access Components 2.1
 * Microsoft Data Access Components 2.1 Service Pack 1
 * Microsoft Data Access Components 2.1 Service Pack 2
 * Microsoft Data Access Components 2.5
 * Microsoft Data Access Components 2.5 Service Pack 1
 * Microsoft Data Access Components 2.5 Service Pack 2
 * Microsoft Data Access Components 2.6
 * Microsoft Data Access Components 2.6 Service Pack 1
 * Microsoft Data Access Components 2.7
 * Microsoft Active Server Pages 4.0
 * Microsoft Internet Information Server 4.0
 * Microsoft Internet Information Services 5.0
 * Microsoft SQL Server 7.0 Standard Edition
 * Microsoft SQL Server 7.0 Service Pack 1
 * Microsoft SQL Server 7.0 Service Pack 2
 * Microsoft SQL Server 7.0 Service Pack 3
 * Microsoft SQL Server 2000 Standard Edition

-



This article was previously published under Q307002



SYMPTOMS
If you try to use an ODBC Data Source Name (DSN) to open an ActiveX Data Objects (ADO) connection to a SQL Server database from an Active Server Pages (ASP) page, you may receive the following error message:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)

[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.



CAUSE
This error can occur under the following circumstances:
 * You are trying to establish a trusted connection, and the Microsoft Windows NT or Windows 2000 user account that Internet Information Server (IIS) uses to process the request for the ASP page does not have a corresponding NT Authentication login in SQL Server.
 * You are trying to use standard SQL Server authentication to establish a connection, and the UID parameter is not specified in the ADO connection string.



RESOLUTION
To resolve this problem, use one of the following methods:  Ensure that a Windows authentication SQL Server login exists for the Windows NT/Windows 2000 user account that IIS uses to process the request for the ASP page. If a login does not exist, use SQL Server Enterprise Manager to create it.For additional information on how to configure NT authentication SQL Server login(s) that ASP pages use, click the article number below to view the article in the Microsoft Knowledge Base:

247931 INF: Authentication Methods for Connections to SQL Server in ASP

 Make sure to include the Trusted_Connection=yes connection string parameter in the ADO connection string. If you do not include this parameter, the above-mentioned error occurs even if the Windows NT/Windows 2000 user account that is used to process the request for the ASP page has a corresponding Windows authentication login in SQL Server. Make sure to specify the UID and the PWD connection string parameters if you want to use standard SQL Server authentication to establish a database connection. You must specify these parameters even if the configuration properties of the DSN are set to use standard SQL Server authentication. If you fail to specify these parameters, IIS tries to open a trusted connection to the database.

To use standard SQL Server authentication to establish a connection, it is essential that you configure the security settings on the target SQL Server to permit Mixed mode (NT and SQL Server) authentication. If you specify a valid UID and omit the PWD parameter in the connection string, when the specified User ID contains a non-blank password, you receive the following error message:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)

[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user .





STATUS
This behavior is by design.



MORE INFORMATION
The Windows NT/Windows 2000 user account that IIS uses to process a request for an ASP page is determined by the authentication mechanism that the Web server uses to authenticate the user request. For instance, when you use Anonymous authentication, the credentials of the configured IIS Anonymous account (which is the ISR_ account by default) are used to process the user request. When you use Basic authentication, Microsoft Internet Explorer prompts the user to supply a valid Windows NT/Windows 2000 Network User ID and Password whose credentials are then used to process the request.

Refer to the online IIS documentation for additional information about the supported authentication mechanisms and how they work.

<div class="references_section">