Microsoft KB Archive/306216

= PRB: Error &quot;Unable to Load Communication Module&quot; in ASP/ADO/SQL Server =

Article ID: 306216

Article Last Modified on 7/13/2004

-

APPLIES TO


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

-



This article was previously published under Q306216



SYMPTOMS
When you use a universal data link (UDL) file or client-side code to test ADO/OLE DB connectivity to a SQL Server database, the test returns successful. However, if you try to use ADO from an ASP page to connect to the same SQL Server database, you receive the following error message:

Unable to load communication module. Driver has not been correctly installed.



CAUSE
This problem occurs because the Microsoft Windows NT 4.0 or Windows 2000 user account that is used to process the request for the ASP page does not have the NTFS permissions that are required to access the SQL Server client Network Library dynamic-link library (DLL), which is used to establish the database connection (for example, the SQL Server TCP/IP Network library is Dbmssocn.dll).



RESOLUTION
To resolve this problem, use the SQL Server Client Network Utility on the Internet Information Server (IIS) server to determine which Network Library is configured to connect to the target SQL Server. Make sure that you grant Read permission to the Windows NT 4.0 or Windows 2000 account that is used to process the request for the ASP page so that this account can access and load the corresponding Network Library DLL. The SQL Server Network Library DLLs are installed in the WINNT\SYSTEM32 folder.



STATUS
This behavior is by design.



MORE INFORMATION
To see a list of SQL Server Client Network Libraries that are installed on a computer, refer to the Network Libraries tab of the SQL Server Client Network Utility window. The list also includes the name of the corresponding DLLs and their location. These DLLs are installed in the WINNT\SYSTEM32 folder.

The authentication mechanism that the Web server uses to authenticate the user request determines which Windows NT 4.0 or Windows 2000 user account credentials to use in order to process a request for an IIS resource (for example, HTML pages and ASP pages). For example, when you use Anonymous authentication, the credentials of the configured IIS Anonymous account (which is the IUSR_WebServerName account by default) are used to process the user request. When you use Basic authentication, Internet Explorer prompts the user to supply a valid Windows NT 4.0 or Windows 2000 Network UserId 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.

