ФАЙЛ ОРДС ЗАГРУЖАЕТ НЕПРЕРЫВАТЬ MOD_PLSQL ПРИМЕНЕНИЕ

Betsy спросил: 12 мая 2018 в 05:18 в: oracle

Мы в процессе обновления приложения mod_plsql к ORDS 3. Я нашел некоторую информацию в разделе: Загрузка файлов в не-Apex PL / SQL-приложение, перенесенное в ORDS. В этом Крис Райс заявляет: "Важный вопрос: у вас есть вершина в этом db вообще, мой ответ отличается от этого". Затем предоставляется ответ. Я не могу сказать, был ли этот ответ для того, чтобы иметь вершину в БД или не иметь Apex в БД. У нас нет Apex в БД. Я пробовал шаги в ответе, но мы получаем: PLS-00306: неправильное количество или типы аргументов при вызове 'UPLOAD_PROC'.

Кто-нибудь мог получить загрузку файла для работы без большого кода изменяется при перемещении приложения mod_plsql в ORDS3?


2 ответа

Kris Rice ответил: 12 мая 2018 в 07:35

Это текущая логика.

Этот 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)
Betsy ответил: 13 мая 2018 в 05:34
Я создал представление apex_release, проверил свой url-mapping.xml и добавил запись, похожую на < entry key ="apex.docTable" > klrice.MYDOCTABLE < / entry > to conf / < name > .xml, но я получаю эту ошибку: вызвано: java.sql.SQLException: ORA-06550: строка 2, столбец 2: PLS-00306: неправильное количество или типы аргументов при вызове ' UPLOAD_PROC 'ORA-06550: строка 2, столбец 2: PL / SQL: заявление игнорируется
Kris Rice ответил: 13 мая 2018 в 05:38
вы можете отправить мне электронное письмо, и мы можем сделать webshare / webex / ... и посмотреть, что случилось?
Betsy ответил: 13 мая 2018 в 05:54
Моя таблица имеет более 6 столбцов: NAME VARCHAR2 (256 BYTE) NOT NULL, MIME_TYPE VARCHAR2 (128 BYTE) NOT NULL, DOC_SIZE NUMBER, DAD_CHARSET VARCHAR2 (128 BYTE), LAST_UPDATED DATE NOT NULL, CONTENT_TYPE VARCHAR2 (128 BYTE) NOT NULL, OT_FORMAT VARCHAR2 (6 BYTE) DEFAULT "BINARY" NOT NULL, BLOB_CONTENT BLOB NOT NULL
Kris Rice ответил: 13 мая 2018 в 05:56
Это должно быть хорошо. Те, которые перечислены выше, являются минимальными. Все присутствующие?
Kris Rice ответил: 13 мая 2018 в 05:56
Это должно быть хорошо. Те, которые перечислены выше, являются минимальными. Все присутствующие?
Betsy ответил: 13 мая 2018 в 06:00
Они должны быть. Я пытаюсь заставить приложение работать. Я не писал код. Разработчики просят установить эту вершину. Они связаны с вершинами ссылок в Stack Trace: InternalServerException [statusCode = 500, reason = []] в oracle.dbtools.apex.ModApexContext.handleError (ModApexContext.java:273) в oracle.dbtools.apex.OWA.execute (OWA.java:222) в oracle.dbtools.apex.ModApex.handleRequest (ModApex.java:266) в oracle.dbtools.apex.ModApex.doPost (ModApex.java:174) в oracle.dbtools.apex.ModApex. сервис (ModApex.java:102)
Betsy ответил: 20 мая 2018 в 01:56

В дополнение к шагам, указанным Крисом Райсом, у нас в нашей таблице загрузки CONTENT_TYPE VARCHAR2 (128 BYTE) NOT NULL. Мы изменили это, чтобы разрешить нули, и наша загрузка файла начала работать.

Betsy ответил: 21 мая 2018 в 10:58
Думаю, я говорил слишком рано. Должна ли быть изменена наша процедура загрузки? Мало того, что CONTENT_TYPE не передается ни DOC_SIZE, ни DAD_CHARSET. Я знаю, что мы можем добавить триггер before_insert, чтобы справиться с этим, но если это необходимо?