Microsoft Knowledge Base Email Alertz

(183345) - The following error message may appear when an Active Server Page (ASP) is executing the OPEN method to an Oracle data source: Microsoft OLEDB Provider for ODBC Drivers error '80004005' [Microsoft][ ODBC driver for Oracle ][Oracle ]ORA-00000: normal,...

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 183345 - Last Review: December 3, 2003 - Revision: 3.0

FIX: ORA-00000 Error Message with ASP, MTS, and Connection Pooling

This article was previously published under Q183345

SYMPTOMS

The following error message may appear when an Active Server Page (ASP) is executing the OPEN method to an Oracle data source:
Microsoft OLEDB Provider for ODBC Drivers error '80004005'
[Microsoft][ ODBC driver for Oracle ][Oracle ]ORA-00000: normal,
successful completion

You may also receive an additional error message:
[Microsoft][ ODBC driver for Oracle ][Oracle ]ORA-06403 Unable to
Allocate memory

CAUSE

The problem arises due to a combination of situations occurring at the same time. First, Oracle uses a System Global Area (SGA) to share data between connections. Secondly, when Windows NT authentication is requested by the Active Server Pages (.asp) page, different users cannot access the same memory in the System Global Area due to the Windows NT security model. Internet Information Server (IIS) 4.0, NT LanMan security, Microsoft Oracle Driver 2.73.7283.03, connection pooling, and .asp use the following data scenario.

USER 1 requests to connect to Oracle. They have their own user ID for Windows NT security. Connection Pooling is turned on. USER 1 then disconnects from Oracle. The .asp no longer needs the connection, but because Connection Pooling is turned on, the Database Environment Handle (HDBC) remains in memory for 120 seconds. This also keeps the memory allocated in the SGA on Oracle to USER 1.

USER 2 requests to connect to Oracle. They use the same connection string to Oracle, but they have a different Windows NT User ID. The ODBC manager sees that they are using the same connection string so it reuses the previous connection from USER 1. Oracle now tries to use the same memory that was allocated to USER 1, but Windows NT security intervenes because USER 2 (different Windows NT ID) is attempting to use memory designated by USER 1. Now, the errors mentioned in the SYMPTOMS section occur.

RESOLUTION

Here are the three workarounds to this problem:
  • Obtain the new Microsoft Oracle ODBC Driver version 2.5 (Build 2.573.2927).

    -or-
  • Turn off connection pooling.

    Connection pooling for Oracle can be disabled by setting the
    CPTimeout value to 0 for the Microsoft ODBC for Oracle driver.
    CPTimeout is found in the registry in:
             HKLM\Software\ODBC\ODBCINST.INI\Microsoft ODBC for Oracle
         
    						
    -or-
  • Remove authentication in Internet Information Server (IIS).

STATUS

You can resolve this issue by using the new Microsoft Oracle ODBC driver version 2.5. This driver is available in Visual Studio 6.0, the Data Access Software Development Kit (SDK) 2.0, and Microsoft Data Access Components (MDAC) 2.0. The Data Access Software Development Kit (SDK) 2.0 and Microsoft Data Access Components (MDAC) can be download from the following Web address:
http://msdn.microsoft.com/dataaccess (http://msdn.microsoft.com/dataaccess)

Navigate to the Downloads page and proceed from there.

APPLIES TO
  • Microsoft Open Database Connectivity 2.0
  • Microsoft Open Database Connectivity 2.0
  • Microsoft Open Database Connectivity 2.0
  • Microsoft ActiveX Data Objects 1.5
  • Microsoft Data Access Components 1.5
Keywords: 
kbbug kbdatabase kbdriver kbfix kbmdacnosweep kboracle KB183345
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate