はじめまして。
ColdfusionからOracleのストアドプロシージャの実行について質問させてください。
[環境]
Coldfusion8スタンダード版(Updater1済み)
Oracle10g
[目的]
oracleストアドプロシージャのoutputパラメータが
varray型の変数をcfで取得したい。
[テストスクリプト]
(oracle)
CREATE OR REPLACE TYPE MSG_ARRAY
AS VARRAY(20) OF VARCHAR2(60);
/
CREATE OR REPLACE procedure TEST_PROC
(ret_msg_array out msg_array)
is
begin
ret_msg_array := MSG_ARRAY();
ret_msg_array.extend;
ret_msg_array(1) := 'TEST1 --------------1';
ret_msg_array.extend;
ret_msg_array(2) := 'TEST2 --------------2';
END TEST_PROC;
(cfm)
<cfstoredproc procedure="TEST_PROC"
datasource="#XXX_DSN#"
username="#XXX_DUSR#"
password="#XXX_DPSS#"
returncode="yes">
<cfprocparam type="Out" cfsqltype= CF_SQL_VARCHAR variable="RET_MSG_ARRAY">
</cfstoredproc>
[現在発生している状況]
当初、以下のサイトを参考に
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_17212&sliceId=1
<CFPROCPARAM TYPE="out" CFSQLTYPE=CF_SQL_VARCHAR variable=RET_MSG_ARRAY maxrows=20>
と記述して実行しましたが、maxrowsパラメータでエラーが発生してしまいました。
CF8のリファレンスマニュアルを参照したところ、
MXよりmaxrows属性が廃止された記述があり、
maxrowsパラメータを削除しましたが、
cfstoredproc実行行でPLS-00306: 'TEST_PROC'の呼出しで、引数の数または型が正しくありません。のエラーが発生してしまいます。
マニュアルに記載のありましたCF_SQL_ARRAYも試してみましたが、状況は同じでした。
対応方法などご存知でしたら、ご教授いただけないでしょうか。
よろしくお願い致します。