ЗАГРУЗКА ФАЙЛА ORDS ЗАГРУЗКА НЕ APEX MOD_PLSQL
Мы находимся в процессе обновления приложения mod_plsql до ORDS 3. Я нашел некоторую информацию в разделе: Загрузка файлов в приложении, отличном от Apex PL/SQL, перенесена в ORDS. В этом Крис Райс заявляет: "Важный вопрос. У вас вообще есть апекс в этом БД? Мой ответ на этот счет другой". Затем предоставляется ответ. Я не могу сказать, был ли этот Ответ за наличие Apex в БД или отсутствие Apex в БД. У нас нет Apex в БД. Я попытался выполнить шаги, описанные в ответе, но мы получаем: PLS-00306: неверный номер или типы аргументов при вызове UPLOAD_PROC.
Кто-нибудь смог заставить загрузку файлов работать без особых изменений кода при переносе приложения mod_plsql в ORDS3?
2 ответа
В дополнение к шагам, указанным Крисом Райсом, в нашей таблице загрузки было CONTENT_TYPE VARCHAR2(128 BYTE) NOT NULL. Мы изменили это, чтобы разрешить нулевые значения, и наша загрузка файлов начала работать.
Это текущая логика.
Этот SQL выполняется в схеме.
select version_no from apex_release
Если это 4+, то это выполняется
begin ? := apex_util.set_blob(.... ); end;";
Если меньше 4, то запускается, где%s это значение apex.docTable
в файле defaults.xml
BEGIN INSERT INTO %s (name, mime_type, content_type, dad_charset, last_updated, blob_content)