Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

OraOLEDB error '80004005' (more)

238679Aug 2 2005 — edited Aug 3 2005
Immersed in an SQL-Server to Oracle conversion project with many SQL-Server stored procedures that return record sets. I am

attempting to establish the proper method of returning record sets to the .ASP code so as to minimize the changes required to

that code. Conversion of SQL-Server stored procedures to Oracle PL/SQL is progressing smootly.

PROBLEM: OraOLEDB error '80004005' when calling Oracle stored procedures that return result sets from .ASP

Anyone have any ideas what I can do to fix this?

TRIED:
1) Granting Read/Write/Execute on Oracle Home directory on Web Server
2) Modifying Windows Registry to point to proper Oracle Home .dll's for latest 10g Client
3) Moving the REF CURSOR parameter in the stored procedure to the end of the parameter list


ENVIROMENT:
Oracle 10.1.0.2 Server
Oracle Provider for OLE DB release 10.1
Microsoft IIS Server 5.0 (Win 2000)

CODE:

<%@LANGUAGE="VBSCRIPT"%>
<%


SysCatConnString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=BPDB;" & _
"User ID=utst;" & _
"Password=cat;" & _
"PLSQLRSet=1;"


Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.Open SysCatConnString

If objConnection.Errors.Count = 0 Then
Response.Write "<br>NO connection errors"
End If

connState = objConnection.State
Response.Write "<br>connState = " & connState

set cmd = Server.CreateObject("ADODB.Command")

cmd.ActiveConnection = objConnection

cmd.Parameters.Append cmd.CreateParameter("p_Application_ID", adSmallInt, adParamInput, , 2)
cmd.Parameters.Append cmd.CreateParameter("p02_Userid", adBSTR, adParamInput, 4, "test")
cmd.Parameters.Append cmd.CreateParameter("p03_Password", adBSTR, adParamInput, 4, "test")
cmd.Parameters.Append cmd.CreateParameter("spRetVal", adSmallInt, adParamOutput)

cmd.CommandText = "{ CALL dbo.up_sc888UserLogin2(?,?,?,?) }"
cmd.CommandType = adCmdStoredProc
cmd.CommandTimeout = 0
cmd.Prepared = true


set rsUser = server.CreateObject("ADODB.Recordset")
Set rsUser = cmd.Execute


ERROR MESSAGE:

At cmd.Execute I continuously receive:

NO connection errors
connState = 1

OraOLEDB error '80004005'

Unspecified error

/testing.asp, line 39

NOTES:

I can execute other stored procedures successfully, but the problem is that I cannot get past this issue with calling

stored procedures that return record sets (as REF CURSORs).

ORACLE 10g Windows STORED PROCEDURE CODE:

PACKAGE dbo AS

TYPE ref_Return IS REF CURSOR;

PROCEDURE up_sc888UserLogin2 (o_RetVal OUT ref_Return, p_Application_ID IN NUMBER, p_Userid IN VARCHAR2, p_Password

IN VARCHAR2, p_ErrorCode OUT NUMBER);

END dbo;
/

CREATE OR REPLACE PACKAGE BODY dbo AS

PROCEDURE up_sc888UserLogin2(

o_RetVal OUT ref_Return,
p_Application_ID IN NUMBER,
p_Userid IN VARCHAR2,
p_Password IN VARCHAR2,
p_ErrorCode OUT NUMBER)

IS
BEGIN

INSERT INTO testing (p_UserID, p_Password) VALUES (p_UserID, p_Password);
INSERT INTO testing (p_UserID, p_Password) VALUES ('x', 'x');
COMMIT;

OPEN o_RetVal FOR
SELECT Person_ID, AccessControl
FROM tPerson, tAccessRights
WHERE UserID = 'dherrin'
AND tAccessRights.Value = tPerson.AccessRights;

p_ErrorCode := 0;


END up_sc888UserLogin2;

END dbo;
/
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 31 2005
Added on Aug 2 2005
1 comment
16,968 views