PowerBuilder在Oracle远程过程中不支持参数类型

时间:2012-11-13 15:22:05

标签: oracle powerbuilder procedure database

请帮助我。我有存储过程

 message
 (
 out_error OUT INTEGER, 
 client_absid IN INTEGER,
 document_subject IN VARCHAR, 
 document_text IN VARCHAR, 
 document_attachedfiles IN FILEINF_T,
 p_client_abs IN VARCHAR  
)

FILEINF_T AS OBJECT (
attachedfiles_name VARCHAR(255)
, attachedfiles_val BLOB      
)

我使用本地外部函数来调用它

 SUBROUTINE message ( ref long out_error, long client_absid, 
  string document_subject,string document_text, readonly fileinf_t 
  document_attachedfiles[], string client_abs) RPCFUNC ALIAS FOR "message"

结构:

 global type fileinf_t from structure
  string        attachedfiles_name
  blob      attachedfiles_val
 end type

在剧本中:

FILEINF_T files[]
FILEINF_T file
file.attachedfiles_name = "test"
files[1] = file
....
this.message ( ref ll_return, pclient_absid, pdocument_subject, 
pdocument_text,  files, pclient_abs)

我在对象ub_ib6_transaction的函数uf_ib_messagefile中第23行的DLL函数消息中给出错误“不支持的参数类型。”

为什么?

2 个答案:

答案 0 :(得分:0)

您的存储过程声明未将document_attachedfiles显示为数组。传入结构的单个实例或更新存储过程签名以接受数组。

答案 1 :(得分:0)

链接到" PowerBuilder" http://scn.sap.com/thread/3265959