我正在尝试将大量记录作为字符串化对象从客户端传递到服务器。在服务器端有一个名为“Get_Records”的函数来捕获该字符串对象。然后它应该将字符串对象解析为记录并进行必要的修改。这是从客户端调用 stringify 函数的方式。
stringify(rec, "IS_TRANSACTION=${IsTransaction}^COMPANY_ID=${CompanyId}^PR_TRANSACTION_SEQ=${PrTransactionSeq}^SPRICE=${SPrice}^SQUANTITY=${SQuantity}^", JSON) into SelectionVar;
call Get_Records(SelectionVar) into invoiceExist;
下面是捕获字符串对象的服务器端函数。
FUNCTION Get_Records(
selection_string_ IN VARCHAR2 ) RETURN VARCHAR2
IS
records_ json_array :=
json_array.parse(selection_string_);
current_selection_ VARCHAR2(32000);
BEGIN
//Code
END;
但是当我尝试从 stringify() 函数传递大量记录的字符串对象时,它没有被服务器端函数“Get_Records”捕获。它给出了一个名为“未实现或不合理的转换请求,详细信息:未定义未定义”的错误。我尝试将“CLOB”数据类型用于服务器端功能。但它也不适用于大量记录。是否有正确的方法将从 stringify 函数检索到的字符串对象传递到服务器端。
截取字符串长度,使其小于1000。或者存入文件上传
在 Oracle 19c 版本之前,JSON 功能有点受限。您使用的是哪个版本?