Error message "HTTP error 404 - File or directory not found" occurs when you access SQL Server 2000 with HTTP (810784)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)
  • Microsoft SQL Server 2000 Windows CE Edition
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows Server 2003, 64-Bit Enterprise Edition

SYMPTOMS

When you access SQL Server 2000 by using HTTP, you receive the following error message:
HTTP Error 404 - File or directory not found.

CAUSE

Windows Server 2003 modifies the implementation of the security model for accessing Internet Server Application Programming Interface (ISAPI) modules. To retain backward compatibility with applications written for Microsoft Internet Information Server 4.0 and Microsoft Internet Information Services 5.0, you must modify the isolation mode in Microsoft Internet Information Services 6.0 on Windows Server 2003.

RESOLUTION

To use any HTTP based SQLXML functionality, configure the server. To configure the server, follow these steps:
  1. Open the Internet Information Services Microsoft Management console (IIS MMC).
  2. Right-click Web Service Extension, and then click to select Add a new Web service extension.
  3. In the New Web service extension dialog box, type SQLXML in the Extension Name text box.
  4. Click Add.
  5. The Add file dialog box appears.
  6. In the Path to File text box, type the location of the file. The file must be for the correct version of the ISAPI library that is in your Program Files folder. For example:

    \Program Files\Common Files\System\Ole DB\Sqlisapi.dll
  7. Click to select the Set extension status to Allowed check box, and then click OK.
  8. In IIS MMC, right-click <IIS Server>, point to All Tasks, and then click Save Configuration to Disk.

MORE INFORMATION

To reproduce the behavior, follow these steps:
  1. Create the virtual directory <nwind>. For more information about how to configure a virtual directory by using the IIS Virtual Directory Management SQL Server utility, visit the following MSDN Web site:
  2. Open Microsoft Internet Explorer and locate:
    http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root
    
You receive the error message mentioned in the "Symptoms" section.

By default, all versions of the ISAPI library that access SQL Server are installed in this folder:

\Program Files\Common Files\System\Ole DB\

The name of the library varies depending on whether you are using either the original SQLXML functionality or one of the three SQLXML Web releases. To determine the version of SQLXML that is installed on your server, use the following table:

Release VersionLibrary Name
MDAC 2.6 (or later) or SQL Server 2000 without SQLXML ReleaseSqlisapi.dll
XML for SQL Server 2000 Web Release 1 Sqlisapi.dll
SQLXML 2.0Sqlis2.dll
SQLXML 3.0, SQLXML 3.0 SP1, Web Services Toolkit Sqlis3.dll



Modification Type:MajorLast Reviewed:10/25/2004
Keywords:kbprb KB810784 kbAudDeveloper