Ok I resolved the printer problem by increasing the buffer
e.g.
procedure htp_output_clob(my_clob clob, jsonp varchar2 default null) as
/*amount number := 4096;
pos number := 1;
len number;
*/
l_amt number default 30;
l_off number default 1;
l_str varchar2(32767);
I suspect it's because I'm using a multi byte charcter set.
NLS_CHARACTERSET
AL32UTF8
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On the same token I'm using the same character set as Matt. I hasd to this because of BASE64 encoding problems when dealing with PDF inside the oracle database.
DECLAREretjson_list;jsonObjjson;BEGINjsonObj:=json();ret:=json_dyn.executeList('SELECT * FROM ori_customers WHERE cust_id = '||wwv_flow.g_x01);jsonObj.put('results',ret);owa_util.mime_header('text/javascript',FALSE);htp.p('Cache-Control: no-cache');htp.p('Pragma: no-cache');owa_util.http_header_close;jsonObj.htp();END;
Hi Jonas
I have a problem with the parser with the following test case producing:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Back Trace: ORA-06512: at "FOEX_010000.JSON_PARSER", line 428
Here's a test case
and the problem is with this code notably the pound sign, if you change it to $ it works Ok.
I can work around the problem using:
I just thought I'd bring it to your attention.
Cheers
Matt
Actually the workaround causes a problem now in the printer when issuing l_json.htp
ORA-06512: at "SYS.DBMS_LOB", line 1064 ORA-06512: at "JSON_PRINTER", line 606 ORA-06512: at "JSON", line 285 ORA-06512
Ok I resolved the printer problem by increasing the buffer
e.g.
I suspect it's because I'm using a multi byte charcter set.
NLS_CHARACTERSET
AL32UTF8
Hello Matt & Jonas,
On the same token I'm using the same character set as Matt. I hasd to this because of BASE64 encoding problems when dealing with PDF inside the oracle database.
Output is:
Problem with this is that The Address and Contact come out as strings.
However when I do:
The outpu is:
The difference is the double backslash.
Could any of you suggest a fix.