powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Upload files docx/xlsx
5 сообщений из 5, страница 1 из 1
Upload files docx/xlsx
    #39432294
pvasea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполняется выгрузка файлов в приложении(см Upload.sql):
Файлы типов jpg, doc, xls выгружаются без проблем. При выгрузке docx или xlsx следует ошибка:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
...
Рейтинг: 0 / 0
Upload files docx/xlsx
    #39432540
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут причина не в типе файла, а вашем коде. Проверьте длину и тип данных в выделенных местах.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
DECLARE
    l_content           blob;
    l_mime_type         varchar2(48); -- А тут почему размерность поля, в 4 раза меньше чем в таблице apex_application_files, почему не объявить как apex_application_files.mime_type%type, а затем писать на форумы такие тупые ошибки.;
    l_name              varchar2(255);
    l_filename varchar2(255);
    l_description varchar2(4000);
    l_id number;
    l_ticket number;
	
BEGIN
	l_filename := :P41_FILENAME;
      	l_name := substr(l_filename,instr(l_filename,'/')+1);
        _description  := :P41_DFDESCRIPTION;
        if :P4_DFTICKET is NULL then
           l_ticket := -99999;
        else l_ticket := v('P4_DFTICKET'); --Проверьте что возвращает, и почему одно и тоже значение вытаскивается разными способами на соседних строчках
        end if;

    for c1 in (select id, mime_type, blob_content
                 from apex_application_files
                where name = l_filename ) loop
        l_id        := c1.id;
        l_content   := c1.blob_content;
        l_mime_type := c1.mime_type; 
    end loop;
    insert
      into TTMS_TATTACHMENTS (dfattachment, dfname, dfdescription, dfmimetype, dfcontent, dfticket,dfdate)
    values (l_id, l_name, l_description, l_mime_type, l_content, l_ticket, sysdate );
    delete
      from apex_application_files
     where name = l_filename;
exception when others then
    raise_application_error(-20001, 'Exception encountered adding document: '||sqlerrm);
END;
...
Рейтинг: 0 / 0
Upload files docx/xlsx
    #39432931
pvasea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel,
Не стоит считать себя умнее других. См. https://docs.oracle.com/cd/E14373_01/appdev.32/e13363/up_dn_files.htm#CHDCGIEF ---> Create a Procedure to Download Documents.
И первое ,что я сделал , изменил длину l_mime_type(см debugDOCX.jpg)
...
Рейтинг: 0 / 0
Upload files docx/xlsx
    #39432934
pvasea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel,
...
Рейтинг: 0 / 0
Upload files docx/xlsx
    #39432995
pvasea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема РЕШЕНА !
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Upload files docx/xlsx
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]