ASP.net and Oracle error System.Data.OleDb.OleDbException

G

Guest

Hello all,
My asp.net web application works on my machine but I get the following error
on our test web server, There is only one oracle home on the test server.
Does anyone know how to resolve this error?

Oracle error occurred, but error message could not be retrieved from Oracle.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information about
the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Oracle error occurred,
but error message could not be retrieved from Oracle.

Source Error:


Line 220: cmBS.CommandType = CommandType.StoredProcedure;
Line 221: cmBS.CommandText =
"OracleInstance.GETBLANKETSTATUS.procListBlanketStatus";
Line 222:
Line 223: OleDbDataAdapter daBS = new OleDbDataAdapter();
Line 224: daBS.SelectCommand = cmBS;


Source File: c:\inetpub\wwwroot\Myfile\myaspxpage.aspx.cs Line: 222

Stack Trace:


[OleDbException (0x80004005): Oracle error occurred, but error message could
not be retrieved from Oracle.]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) +20
System.Data.OleDb.OleDbConnection.InitializeProvider() +57
System.Data.OleDb.OleDbConnection.Open() +203
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection,
ConnectionState& originalState) +44
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior) +304
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior) +77
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +36
WebReportMenu.BlanketContract.getData() in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:222
WebReportMenu.BlanketContract.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:102
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750
 
P

Patrick.O.Ige

Is this how you use stored proc when using ORACLE "cmBS.CommandText =
"OracleInstance.GETBLANKETSTATUS.procListBlanketStatus";
"?
And are you sure your connection string is ok.
 
G

Guest

First let me say, thanks for responding any assistance is greatly appreciated
I have been struggling with this for days and this project was supposed be go
live by today!

Yes I do use OracleInstance.GETBLANKETSTATUS.procListBlanketStatus
and my application does work on my computer but it does not work when I move
it to a web server.
This is my connection string:
"provider=MSDAORA; User Id=myUSER; Data Source=OracleDev;
Password=myPassword;"

Here is some of my connection code:
OleDbCommand cmBS = new OleDbCommand();
cmBS.Connection = oCn;
cmBS.CommandType = CommandType.StoredProcedure;
cmBS.CommandText =
"OracleInstance.PIMA_GETBLANKETSTATUS.pima_procListBlanketStatus";

OleDbDataAdapter daBS = new OleDbDataAdapter();
daBS.SelectCommand = cmBS;
daBS.AcceptChangesDuringFill = false;
daBS.Fill(DS,"BLANKET_STATUS");


I have created a test app with different providers and when I use
OraOLEDB.Oracle I get an error.
This is the connections string
"provider=OraOLEDB.Oracle; User Id=myUSER; Data Source=OracleDev;
Password=myPassword;"

This is the new error:
No error information available: REGDB_E_CLASSNOTREG(0x80040154).
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information about
the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: No error information
available: REGDB_E_CLASSNOTREG(0x80040154).

Source Error:

Line 40: OleDbDataAdapter daBS = new OleDbDataAdapter();
Line 41: daBS.SelectCommand = cmBS;
Line 42: daBS.Fill(DS,"BLANKET_STATUS");
Line 43:
Line 44: //this.ugTest.DataBind


Source File: c:\inetpub\wwwroot\oraoledb_connection\webform1.aspx.cs
Line: 42

Stack Trace:

[OleDbException (0x80040154): No error information available:
REGDB_E_CLASSNOTREG(0x80040154).]

[InvalidOperationException: The 'OraOLEDB.Oracle' provider is not registered
on the local machine.]
System.Data.OleDb.OleDbConnection.CreateProviderError(Int32 hr)
System.Data.OleDb.OleDbConnection.CreateProvider(OleDbConnectionString
constr)
System.Data.OleDb.OleDbConnection.Open()
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection,
ConnectionState& originalState)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
OraOLEDB_Connection.WebForm1.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\oraoledb_connection\webform1.aspx.cs:42
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET
Version:1.1.4322.2032




Patrick.O.Ige said:
Is this how you use stored proc when using ORACLE "cmBS.CommandText =
"OracleInstance.GETBLANKETSTATUS.procListBlanketStatus";
"?
And are you sure your connection string is ok.


petro said:
Hello all,
My asp.net web application works on my machine but I get the following error
on our test web server, There is only one oracle home on the test server.
Does anyone know how to resolve this error?

Oracle error occurred, but error message could not be retrieved from Oracle.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information about
the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Oracle error occurred,
but error message could not be retrieved from Oracle.

Source Error:


Line 220: cmBS.CommandType = CommandType.StoredProcedure;
Line 221: cmBS.CommandText =
"OracleInstance.GETBLANKETSTATUS.procListBlanketStatus";
Line 222:
Line 223: OleDbDataAdapter daBS = new OleDbDataAdapter();
Line 224: daBS.SelectCommand = cmBS;


Source File: c:\inetpub\wwwroot\Myfile\myaspxpage.aspx.cs Line: 222

Stack Trace:


[OleDbException (0x80004005): Oracle error occurred, but error message could
not be retrieved from Oracle.]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) +20
System.Data.OleDb.OleDbConnection.InitializeProvider() +57
System.Data.OleDb.OleDbConnection.Open() +203
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection,
ConnectionState& originalState) +44
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior) +304
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecor d,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior) +77
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +36
WebReportMenu.BlanketContract.getData() in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:222
WebReportMenu.BlanketContract.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:102
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750




-------------------------------------------------------------------------- ------
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET
Version:1.1.4322.2032
 
P

Patrick.O.Ige

Petro trying going through this article at:-
http://www.c-sharpcorner.com/Code/2004/Feb/ODP.NET02.asp
Amd also:
http://www.microsoft.com/downloads/details.aspx?familyid=4f55d429-17dc-45ea-
bfb3-076d1c052524&displaylang=en
Also see http://www.connectionstrings.com/ and try other providers
Hope that helps
Patrick



petro said:
First let me say, thanks for responding any assistance is greatly appreciated
I have been struggling with this for days and this project was supposed be go
live by today!

Yes I do use OracleInstance.GETBLANKETSTATUS.procListBlanketStatus
and my application does work on my computer but it does not work when I move
it to a web server.
This is my connection string:
"provider=MSDAORA; User Id=myUSER; Data Source=OracleDev;
Password=myPassword;"

Here is some of my connection code:
OleDbCommand cmBS = new OleDbCommand();
cmBS.Connection = oCn;
cmBS.CommandType = CommandType.StoredProcedure;
cmBS.CommandText =
"OracleInstance.PIMA_GETBLANKETSTATUS.pima_procListBlanketStatus";

OleDbDataAdapter daBS = new OleDbDataAdapter();
daBS.SelectCommand = cmBS;
daBS.AcceptChangesDuringFill = false;
daBS.Fill(DS,"BLANKET_STATUS");


I have created a test app with different providers and when I use
OraOLEDB.Oracle I get an error.
This is the connections string
"provider=OraOLEDB.Oracle; User Id=myUSER; Data Source=OracleDev;
Password=myPassword;"

This is the new error:
No error information available: REGDB_E_CLASSNOTREG(0x80040154).
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information about
the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: No error information
available: REGDB_E_CLASSNOTREG(0x80040154).

Source Error:

Line 40: OleDbDataAdapter daBS = new OleDbDataAdapter();
Line 41: daBS.SelectCommand = cmBS;
Line 42: daBS.Fill(DS,"BLANKET_STATUS");
Line 43:
Line 44: //this.ugTest.DataBind


Source File: c:\inetpub\wwwroot\oraoledb_connection\webform1.aspx.cs
Line: 42

Stack Trace:

[OleDbException (0x80040154): No error information available:
REGDB_E_CLASSNOTREG(0x80040154).]

[InvalidOperationException: The 'OraOLEDB.Oracle' provider is not registered
on the local machine.]
System.Data.OleDb.OleDbConnection.CreateProviderError(Int32 hr)
System.Data.OleDb.OleDbConnection.CreateProvider(OleDbConnectionString
constr)
System.Data.OleDb.OleDbConnection.Open()
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection,
ConnectionState& originalState)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
OraOLEDB_Connection.WebForm1.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\oraoledb_connection\webform1.aspx.cs:42
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()




-------------------------------------------------------------------------- ------
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET
Version:1.1.4322.2032




Patrick.O.Ige said:
Is this how you use stored proc when using ORACLE "cmBS.CommandText =
"OracleInstance.GETBLANKETSTATUS.procListBlanketStatus";
"?
And are you sure your connection string is ok.


petro said:
Hello all,
My asp.net web application works on my machine but I get the following error
on our test web server, There is only one oracle home on the test server.
Does anyone know how to resolve this error?

Oracle error occurred, but error message could not be retrieved from Oracle.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more
information
about
the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Oracle error occurred,
but error message could not be retrieved from Oracle.

Source Error:


Line 220: cmBS.CommandType = CommandType.StoredProcedure;
Line 221: cmBS.CommandText =
"OracleInstance.GETBLANKETSTATUS.procListBlanketStatus";
Line 222:
Line 223: OleDbDataAdapter daBS = new OleDbDataAdapter();
Line 224: daBS.SelectCommand = cmBS;


Source File: c:\inetpub\wwwroot\Myfile\myaspxpage.aspx.cs Line: 222

Stack Trace:


[OleDbException (0x80004005): Oracle error occurred, but error message could
not be retrieved from Oracle.]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) +20
System.Data.OleDb.OleDbConnection.InitializeProvider() +57
System.Data.OleDb.OleDbConnection.Open() +203
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection,
ConnectionState& originalState) +44
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior) +304
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32
startRecor
d,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior) +77
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String
srcTable)
+36
WebReportMenu.BlanketContract.getData() in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:222
WebReportMenu.BlanketContract.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:102
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750
 
E

Eric

It sounds like you need to download the oraoledb driver from oracle and
install it on the server

The oledb driver is not part of the 'standard' oracle client install
package... It is only installed when you choose custom or a 'developer' type
install

The easiest way to tell if it's installed: go to start -> programs ->
oracle home x.xx -> application development -> OraOLEDB
Documentation.html... if that link does not exist, you don't have the driver
installed... (Of course there are other ways to figure it out, but that's
what I check first)

Go to technet.oracle.com and find your way to driver downloads... If you
have the client installation cd, you can probably custom install it from
there.... It Oledb for oracle is also installed when you install their .net
suite of tools...

If you can use oraoledb, I would stick with it; OO4O and ODP.net are better
for accessing oracle, but neither are easily portable to other db's (whereas
oracle's ole db driver is--codewise at least)....


petro said:
Hello all,
My asp.net web application works on my machine but I get the following
error
on our test web server, There is only one oracle home on the test server.
Does anyone know how to resolve this error?

Oracle error occurred, but error message could not be retrieved from
Oracle.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about
the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Oracle error
occurred,
but error message could not be retrieved from Oracle.

Source Error:


Line 220: cmBS.CommandType = CommandType.StoredProcedure;
Line 221: cmBS.CommandText =
"OracleInstance.GETBLANKETSTATUS.procListBlanketStatus";
Line 222:
Line 223: OleDbDataAdapter daBS = new OleDbDataAdapter();
Line 224: daBS.SelectCommand = cmBS;


Source File: c:\inetpub\wwwroot\Myfile\myaspxpage.aspx.cs Line: 222

Stack Trace:


[OleDbException (0x80004005): Oracle error occurred, but error message
could
not be retrieved from Oracle.]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) +20
System.Data.OleDb.OleDbConnection.InitializeProvider() +57
System.Data.OleDb.OleDbConnection.Open() +203
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection,
ConnectionState& originalState) +44
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior) +304
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32
startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior) +77
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
+36
WebReportMenu.BlanketContract.getData() in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:222
WebReportMenu.BlanketContract.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:102
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750
 
G

Guest

We got it working! The system admisinstrator downloaded the current MDAC and
uninstalled and reinstalled Oracle and now it works. Thanks for your replies.

Eric said:
It sounds like you need to download the oraoledb driver from oracle and
install it on the server

The oledb driver is not part of the 'standard' oracle client install
package... It is only installed when you choose custom or a 'developer' type
install

The easiest way to tell if it's installed: go to start -> programs ->
oracle home x.xx -> application development -> OraOLEDB
Documentation.html... if that link does not exist, you don't have the driver
installed... (Of course there are other ways to figure it out, but that's
what I check first)

Go to technet.oracle.com and find your way to driver downloads... If you
have the client installation cd, you can probably custom install it from
there.... It Oledb for oracle is also installed when you install their .net
suite of tools...

If you can use oraoledb, I would stick with it; OO4O and ODP.net are better
for accessing oracle, but neither are easily portable to other db's (whereas
oracle's ole db driver is--codewise at least)....


petro said:
Hello all,
My asp.net web application works on my machine but I get the following
error
on our test web server, There is only one oracle home on the test server.
Does anyone know how to resolve this error?

Oracle error occurred, but error message could not be retrieved from
Oracle.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about
the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Oracle error
occurred,
but error message could not be retrieved from Oracle.

Source Error:


Line 220: cmBS.CommandType = CommandType.StoredProcedure;
Line 221: cmBS.CommandText =
"OracleInstance.GETBLANKETSTATUS.procListBlanketStatus";
Line 222:
Line 223: OleDbDataAdapter daBS = new OleDbDataAdapter();
Line 224: daBS.SelectCommand = cmBS;


Source File: c:\inetpub\wwwroot\Myfile\myaspxpage.aspx.cs Line: 222

Stack Trace:


[OleDbException (0x80004005): Oracle error occurred, but error message
could
not be retrieved from Oracle.]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) +20
System.Data.OleDb.OleDbConnection.InitializeProvider() +57
System.Data.OleDb.OleDbConnection.Open() +203
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection,
ConnectionState& originalState) +44
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior) +304
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32
startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior) +77
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
+36
WebReportMenu.BlanketContract.getData() in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:222
WebReportMenu.BlanketContract.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\webreportmenu\blanketcontract.aspx.cs:102
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,153
Members
46,701
Latest member
XavierQ83

Latest Threads

Top