Hi,
I am quite new to Silverstream and struggling with composer.
The DB that I am using is Oracle 8.1.7
I am able to call a stored procedure from composer if the inputs and outputs to and from the stored procedure are simple datatypes (for eg, varchar,number, etc).
The problem arises when I try to call a stored procedure that takes a varchar as input and a cursor as the output.
The following is the composer SQL Call Statement.
{call TESTCODE(':Input.XPath("Screen/Result/Code1"',':usercursor')}
St. Proc's details:
Output: cursor
Input: varchar2
In the composer,
I have enabled the Execute as prepared. And also mapped the following in Storeprocedure mapping
Id:1
Qual:OUT
Datatype:Oracle Resultset
Map: Enabled (tick)
Context: Temp
TargetXpath: Screen/Result
When I execute I get an error message:
EXCEPTION: java.sql.SQLException: ORA-01008: not all variables bound
LASTSQL = {call TESTCODE(':Input.XPath("Screen/Result/Code1"',':usercursor')}
SQLSTATE = 72000
SQLCODE = 1008
UPDATECOUNT = 0
(Note: I tried using a project variable as well instead of a xpath. When I print the project variable or the xpath value before the execute, it prints the value perfectly. This implies that the xpath as well as the project variable has the value set. I suspect that in the execute stmt the value is not getting passed to the input parameter and hence the error !! ?? )
On the otherhand, when I HARDCODE the input parameter,
{call TESTCODE('User',':usercursor')}
it WORKS PERFRCTLY FINE !!.
I am really struck with this problem and unable to proceed as we have decided that we will use st. procedures for any data access.
Any help in this regard would be highly appreciated.
TIA
Best Regards,
Latha
I am quite new to Silverstream and struggling with composer.
The DB that I am using is Oracle 8.1.7
I am able to call a stored procedure from composer if the inputs and outputs to and from the stored procedure are simple datatypes (for eg, varchar,number, etc).
The problem arises when I try to call a stored procedure that takes a varchar as input and a cursor as the output.
The following is the composer SQL Call Statement.
{call TESTCODE(':Input.XPath("Screen/Result/Code1"',':usercursor')}
St. Proc's details:
Output: cursor
Input: varchar2
In the composer,
I have enabled the Execute as prepared. And also mapped the following in Storeprocedure mapping
Id:1
Qual:OUT
Datatype:Oracle Resultset
Map: Enabled (tick)
Context: Temp
TargetXpath: Screen/Result
When I execute I get an error message:
EXCEPTION: java.sql.SQLException: ORA-01008: not all variables bound
LASTSQL = {call TESTCODE(':Input.XPath("Screen/Result/Code1"',':usercursor')}
SQLSTATE = 72000
SQLCODE = 1008
UPDATECOUNT = 0
(Note: I tried using a project variable as well instead of a xpath. When I print the project variable or the xpath value before the execute, it prints the value perfectly. This implies that the xpath as well as the project variable has the value set. I suspect that in the execute stmt the value is not getting passed to the input parameter and hence the error !! ?? )
On the otherhand, when I HARDCODE the input parameter,
{call TESTCODE('User',':usercursor')}
it WORKS PERFRCTLY FINE !!.
I am really struck with this problem and unable to proceed as we have decided that we will use st. procedures for any data access.
Any help in this regard would be highly appreciated.
TIA
Best Regards,
Latha