When we are trying to download a file from Apex, we are receiving the "Oracle Rest Data Services 500 Internal Server Error", from Tomcat Server log we found
Caused by: java.sql.SQLException: ORA-22275: invalid LOB locator specified
ORA-06512: at "Package", line 576
ORA-06512: at line 2
PROCEDURE download_doc (p_id IN NUMBER) AS l_mime VARCHAR2 (255); l_length NUMBER; l_file_name VARCHAR2 (2000); l_blob BLOB; BEGIN SELECT t.content_type, t.doc, t.doc_name, DBMS_LOB.getlength (t.doc) INTO l_mime, l_blob, l_file_name, l_length FROM table t WHERE t.doc_id = p_id; -- -- set up HTTP header -- -- use an NVL around the mime type and -- if it is a null set it to application/octect -- application/octect may launch a download window from windows OWA_UTIL.mime_header (NVL (l_mime, 'application/octet'), FALSE); -- set the size so the browser knows how much to download HTP.p ('Content-length: ' || l_length); -- the filename will be used by the browser if the users does a save as HTP.p ( 'Content-Disposition: attachment; filename="' || REPLACE ( REPLACE (SUBSTR (l_file_name, INSTR (l_file_name, '/') + 1), CHR (10), NULL), CHR (13), NULL) || '"'); -- close the headers OWA_UTIL.http_header_close; -- download the BLOB WPG_DOCLOAD.download_file (l_blob); EXCEPTION WHEN OTHERS THEN RAISE;--(this is the line 576) END;
We have multiple environments and it is working fine in most of them, except one environment. So the procedure has no issue, I am assuming it has to be ORDS config related issue, please let us know if there are any inputs around this.