Hi there,
I'm using asp.net (c#) framework version 1.1 and trying to connect to my Oracle database 10G (10.) which installed on the same server as the IIS and I'm getting the following error:
OleDbException (0x80004005): error while trying to retrieve text for error ora 01019

I can connect through sqlplus and I did give aspnet user full control on my Oracle_Home.
In addition I defined the ORACLE_HOME in the system environment and in the system PATH.
although I had few oracel version installed I removed them all (from the registery as well) and now I only got this 10G as my only Oracle_Home.

this is the code I'm using for openning the db connection:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;


string constr = "Provider=MSDAORA.1;Data Source=wstdb;User Id=stdb;PASSWORD=stdb;OLE DB Services=-2";
OleDbConnection conn = new OleDbConnection(constr);
conn.Open();

I got the error while opening the connection.

I realy need help.

Thanks,
Adi

Dani AI

Generated

Good troubleshooting, , and thanks for the ORA-01019 pointer. A quick, practical summary for others who hit this on Windows + IIS:

ORA-01019 on Windows usually means the Oracle client failed in the “user-side” allocator — often not because of low RAM but because the process loaded mismatched or misregistered Oracle DLLs/COM controls (leftover 9i entries, wrong InprocServer32, or a 32/64-bit mismatch). The fact that changing the InprocServer32 and then moving the code to a new project fixed it strongly suggests a COM/registry/provider mismatch rather than a bug in your app.

Try these targeted checks (make a registry backup before editing):

  • Verify COM registration: confirm InprocServer32 for Oracle controls points to your 10g oradc.ocx; re-register it as admin if needed (for example: regsvr32 E:\oracle\product\10.1.0\db_1\bin\oradc.ocx) and reboot.
  • Environment vars: set ORACLE_HOME, TNS_ADMIN and PATH at the System level (not user); ensure the intended Oracle bin appears first. Reboot after changes.
  • Bitness: ensure the IIS/worker process and Oracle client are the same (32-bit vs 64-bit). MSDAORA is limited on newer Windows — prefer Oracle’s provider.
  • Permissions and identity: confirm the app-pool identity has read/execute on Oracle binaries and registry keys; test with a small console app running as that identity to reproduce.
  • Logs: check Windows Event Log and enable Oracle client tracing if you still see failures.

Long-term: use Oracle’s native provider (OraOLEDB.Oracle or ODP.NET) instead of MSDAORA to avoid many of these integration issues. If you want, post your PATH order, ORACLE_HOME and the InprocServer32 value and I will review them.

Recommended Answers

All 4 Replies

I am not sure what your problem is being caused by, but this is the definition of ORA-01019 if you didn't know.

ORA-01019: unable to allocate memory in the user side
Cause: The user side memory allocator returned an error.
Action:. Increase the size of the process heap or switch to the old set of calls.

thanks Kate,
do u know how to increase it?

Hi,
I figured it out and here is what I did:
I've notice that I still have leftover of Oracle9i footprints in some of the registry key such as InprocServer32 so I change the value to the existing OracleHome -10 to E:\oracle\product\101~1.0\Db_1\bin\oradc.ocx
After a reboot it partially worked and gave me another error : tns could not find service name although it's properly configured.
Then I took the same code to a new project and it worked!!!

It's very strange but we are dealing with computers....

Cheers,
Adi

Hi Adi, I am glad you have it figured out now.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.