PDA

Click to See Complete Forum and Search --> : Stored Procedure works from VB, but not in ASP


Srinimusuku
Mar 8th, 2001, 05:17 PM
Hi,

The following code is to call a Oracle stored procedure and get a return value from the stored procedure.
The return value is "success"
This works great in Visual Basic, the code is below
*************************************************
set ConnOracle=createobject("adodb.connection")
ConnOracle.open "connection string to oracle",other parameters

set Commoracle=createobject(adodb.command)
CommOracle.ActiveConnection = ConnOracle
CommOracle.CommandType = adCmdStoredProc
CommOracle.CommandText = "sys.reset_account"

set parmOracle1 =createobject("ADODB.Parameter")
Set parmOracle1 = CommOracle.CreateParameter ("Parm1", adVarChar, adParamInput, 30)
parmOracle1.Value = UserId

set parmOracle2 =createobject("ADODB.Parameter")
Set parmOracle2 = CommOracle.CreateParameter("Parm2", adVarChar, adParamInput, 30)
parmOracle2.Value = NewPwd

set parmOracle3 =server.createobject("ADODB.Parameter")
Set parmOracle3 = CommOracle.CreateParameter("Parm3", adVarChar,adParamOutput , 30)

CommOracle.Parameters.Append parmOracle1
CommOracle.Parameters.Append parmOracle2
CommOracle.Parameters.Append parmOracle3

CommOracle.Execute
msgbox parmOracle3.value 'displays "success"
*************************************************
But the same code in ASP does not work.The ASP code is below.
Can you please look at it and let me know the problem.
I do not get any return value from the stored procedure.
It is just blank. Do i have to set any other Command object properties before the EXECUTE method in ASP.
******************************************************
set ConnOracle=server.createobject("adodb.connection")
ConnOracle.open "connection string to oracle"
set Commoracle=server.createobject(adodb.command)

CommOracle.ActiveConnection = ConnOracle
CommOracle.CommandType = adCmdStoredProc
CommOracle.CommandText = "sys.reset_account"

set parmOracle =server.createobject("ADODB.Parameter")
Set parmOracle = CommOracle.CreateParameter ("Parm1", adVarChar, adParamInput, 30)
parmOracle1.Value = UserId

set parmOracle2 =server.createobject("ADODB.Parameter")
Set parmOracle2 = CommOracle.CreateParameter("Parm2", adVarChar, adParamInput, 30)
parmOracle2.Value = NewPwd

set parmOracle3 =server.createobject("ADODB.Parameter")
Set parmOracle3 = CommOracle.CreateParameter("Parm3", adVarChar,adParamOutput , 30)

CommOracle.Parameters.Append parmOracle1
CommOracle.Parameters.Append parmOracle2
CommOracle.Parameters.Append parmOracle3

CommOracle.Execute
response.write parmOracle3.value
************************************************
Please let me know soon.
Thanks,
Srini

Active
Mar 11th, 2001, 03:02 AM
Set ConnOracle=server.createobject("adodb.connection")
ConnOracle.open "connection String To oracle"
Set Commoracle=server.createobject(adodb.command) 'should be within ""

CommOracle.ActiveConnection = ConnOracle
CommOracle.CommandType = adCmdStoredProc
CommOracle.CommandText = "sys.reset_account"

Set parmOracle =server.createobject("ADODB.Parameter")
Set parmOracle = CommOracle.CreateParameter ("Parm1", adVarChar, adParamInput, 30)
parmOracle1.Value = UserId

Set parmOracle2 =server.createobject("ADODB.Parameter")
Set parmOracle2 = CommOracle.CreateParameter("Parm2", adVarChar, adParamInput, 30)
parmOracle2.Value = NewPwd

Set parmOracle3 =server.createobject("ADODB.Parameter")
Set parmOracle3 = CommOracle.CreateParameter("Parm3", adVarChar,adParamOutput , 30)

CommOracle.Parameters.Append parmOracle1
CommOracle.Parameters.Append parmOracle2
CommOracle.Parameters.Append parmOracle3

CommOracle.Execute'Where is the Returned Value stored ?
response.write parmOracle3.value