【问题标题】:PowerBuilder unsupported argument type in Oracle remote procedureOracle 远程过程中不支持 PowerBuilder 的参数类型
【发布时间】:2012-11-02 01:01:19
【问题描述】:

请帮帮我。我有存储过程

 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 函数消息中不支持的参数类型。”

为什么?

【问题讨论】:

    标签: oracle powerbuilder procedure database


    【解决方案1】:

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

    【讨论】:

    • 我试图从 RPC 定义中删除 [ ],但错误是。
    【解决方案2】:

    来自“PowerBuilder”http://scn.sap.com/thread/3265959的回答链接

    【讨论】:

      猜你喜欢
      • 2017-12-02
      • 2023-03-31
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      相关资源
      最近更新 更多