Как исправить формат файла при получении его с сервера linux и отправке в формате txt в виде вложения в почту? - PullRequest
0 голосов
/ 07 января 2020

Я использую PL / SQL oracle, в процедуре я записываю данные в файл .txt и сохраняю их в каталоге, который существует на сервере linux, с помощью библиотеки UTL_FILE, когда я получаю файл из linux и отправьте его в виде вложения по почте, формат файла изменился, как показано ниже: файл в linux содержит данные:

00005458563722650096252557
00028282778772626667677777
63767373883899999393999999

файл, когда я отправляю его как вложение в почте, данные будут такими:

000054585637226500962525570002828277877262666767777763767373883899999393999999

В PL SQL Разработчик я выполняю следующие процедуры для создания и записи данных в файл:

DIRECTORY_NAME := 'folder'
FILENAME := 'file.txt'

ftype := UTL_FILE.open(DIRECTORY_NAME , FILENAME , 'W');

// loop for 
Loop
   FETCH Result
    INTO V_WRITE_TXT
   EXIT WHEN P_RESULT %NOTFOUND;
   UTL_FILE.PUT_LINE(ftype , V_WRITE_TXT);
END LOOP;

UTL_FILE.FCLOSE(ftype);

Обзор: формат файла txt в linux правильно, но при отправке файла по электронной почте формат, изменяющий изменения формата, объединяет записи в одну строку

1 Ответ

0 голосов
/ 09 января 2020

Если вам нужен разрыв строки windows в вашем файле, вы можете попробовать функцию put вместо put_line

UTL_FILE.PUT (ftype , V_WRITE_TXT || chr(13) || chr(10));

Файл будет выглядеть странно в системе Linux. Хорошие редакторы (например, Notepad ++) теперь могут обрабатывать различные разрывы строк

...