FIX: ADO 2.0 Generates Error 0115 When Used with IIS 3.0 (193310)



The information in this article applies to:

  • ActiveX Data Objects (ADO) 2.0
  • Microsoft Internet Information Server 3.0

This article was previously published under Q193310

SYMPTOMS

ADO 2.0 and IIS 3.0 have an internal conflict due to the way both products handle proxies. Subsequently, when you install ADO 2.0 on a computer with IIS 3.0, an error message similar to the following might appear:
error 'ASP 0115'
Unexpected error
/scripts/<filename>
A trappable error occurred in an external object. The script cannot continue running.
This error is actually the result of an access violation in the ASP.dll. However, this could happen with any product that wraps automation objects the same way that IIS 3.0 does.

CAUSE

At a high level, this problem is caused by a combination of IIS 3.0 wrapping automation objects within its own object and ADO 2.0 not having bullet-proof support when it is used through proxy.

ADO passes an interface to ASP, which is wrapped within an automation object. Later, when ADO requests the object back it receives a private interface which references the ASP wrapper of the ADO interface, not the actual ADO Interface itself. ADO assumes that the interface passed back must be a legitimate ADO object because it is a private interface. ADO tries to call a method by casting the interface to an ADO object, which fails.

RESOLUTION

To resolve this problem, download the Microsoft Data Access Components 2.0 Service Pack 1 from the following Web site: Please note that the MDAC 2.0 Service Pack 1 is available as a component of the Windows NT 4 Service Pack 4 download but still can be downloaded and installed as a separate file without installing Windows NT 4 Service Pack 4.

The fix comes in a self-extracting file. When you extract the files from the fix, they should have the following time stamp and version information:

   Filename       Version       Size      Date
   -------------------------------------------------
   msader15.dll   2.0.3002.23     6,656   09-16-1998
   msado15.dll    2.0.3002.23   328,464   09-16-1998
   msadocg.dll    2.0.3002.23   102,400   09-16-1998
   msador15.dll   2.0.3002.23    37,888   09-16-1998
   msadrh15.dll   2.0.3002.23    40,720   09-16-1998
				

Installation instructions

  1. Extract the hotfix files in a new directory.
  2. Locate the msado15.dll on your computer.
  3. Copy the new DLL's that were created when you unzipped the fix to the location of the msado15.dll. Be sure that there is only one version of the msado15.dll on your computer. It is usually installed in the C:\Program Files\Common Files\System\ado directory.
  4. Register the DLLs using RegSvr32.exe (provided with the patch):
          regsvr32 <dll name.dll>
    						
    You need to register MSADOCG.dll, MSADOR15.dll, and MSADRH15.dll.
  5. Restart your computer.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. The problem has been fixed in the Microsoft Data Access Components 2.0 Service Pack 1 (MDAC Version 2.02), which can be downloaded from www.microsoft.com/data/.

Modification Type:MajorLast Reviewed:7/20/2006
Keywords:kbHotfixServer kbQFE kbBug kbDatabase kbfix KB193310