Stored Procedure Call problem [message #5688] |
Thu, 27 February 2003 15:16  |
Tim Gribbin
Messages: 8 Registered: January 2003
|
Junior Member |
|
|
Hello All,
I'm getting the following error when calling a procedure from Cold Fusion:
Oracle Error Code = 6550
ORA-06550: line 1, column 79: PLS-00312: a positional parameter association may not follow a named association ORA-06550: line 1, column 7: PL/SQL: Statement ignored
Here is my procedure parameter listing:
--------
CREATE OR REPLACE PROCEDURE SCHEDULE_TEST_TMG
(
p_person_number IN OUT CHAR,
p_semester IN OUT CHAR,
p_crs_division OUT CHAR,
p_section_id OUT CHAR,
p_room OUT CHAR
)
AS
CURSOR c_schedule IS....
-----
My Cold Fusion call looks like (I had to eliminate brackets in order to post this):
cfstoredproc procedure = "schedule_test_tmg" datasource="*" username="*" password="*"
cfprocparam type="In" cfsqltype="CF_SQL_CHAR" dbvarname="p_person_number" value="99999999"
cfprocparam type= "In" cfsqltype="CF_SQL_CHAR" dbvarname="p_semester" value="199309"
cfprocparam type="Out" cfsqltype="CF_SQL_CHAR" variable = "p_crs_division"
cfprocparam type= "Out" cfsqltype="CF_SQL_CHAR" variable = "p_section_id"
cfprocparam type= "Out" cfsqltype="CF_SQL_CHAR" variable ="p_room"
cfprocresult name="schedule_result" resultset="1"
/cfstoredproc
cfdump var = "#schedule_result#"
I get a Cold Fusion error when I try to declare the type of the first two parameters as "InOut" in Cold Fusion
although this is supposedly a valid type.
I don't understand the positional vs. named association error in this context and all references to parameters have been in the same order
as specified in the create procedure statement.
I'm relatively new to Oracle stored procedures so any help would be appreciated.
Thanks in advance,
Tim Gribbin
|
|
|
Re: Stored Procedure Call problem [message #5691 is a reply to message #5688] |
Fri, 28 February 2003 03:07  |
Remi Visser
Messages: 44 Registered: December 2002
|
Member |
|
|
Hi
I don't know nothin of Cold Fusion, but the solution to your problem is in dbvarname, you should also provide the dbvarname for the out parameters:
cfprocparam type= "In" cfsqltype="CF_SQL_CHAR" dbvarname="p_semester" value="199309"
cfprocparam type="Out" cfsqltype="CF_SQL_CHAR" variable = "p_crs_division"
Hope this helps
remi
http://askremi.ora-0000.com
|
|
|