ПредишенСледващото

Всички операции UTL_FILE модул се появява понятието дескриптора на файла. Дескриптори, или LUN, файл (файл дръжка) - е стойността, която се използва в PL / SQL за идентифициране на файл, като ID на курсора в модула DBMS_SQL. Всички описания на файлове тип UTL_FILE.FILE_TYPE, те се връщат функция FOPEN и се предават като параметри на други видове в UTL_FILE съчетания.

FOPEN функция отваря файла като вход или изход. По всяко време, файлът може да се отвори, или само да въведете или само за изход. FOPEN описание е както следва:

функция FOPEN (местоположение в varchar2. името на файла в varchar2. open_mode в

Пътят на директория, която е посочена трябва да съществува към момента на извършване на тази функция - FOPEN той не създава. Въпреки това, ако сте задали OPEN_MODE режим като "W", а след това на съществуващия файл ще бъде презаписан. Параметрите и функциите на FOPEN връщане на стойността са описани в следната таблица:

Таблица функция 8 Параметри FOPEN

Пътят до директорията, където се намира файла. Ако тази директория не е включена в броя на разположение, след което задайте UTL_FILE.INVALID_PATH.

Името на файла, за да се отвори. Когато е настроен на "W", а след това на съществуващия файл се презаписва.

Както е използван режим. Възможни стойности: "R" - четене на текста; "W" - запис на текста; "А" - за да добавите текст. Този параметър не е чувствителна. Ако е зададено на "а" и файлът не съществува, тя е създадена в режим "W".

Характеристиката на файла се използва по-късно във функциите.

В Oracle8 и висока UTL_FILE въвежда допълнителен модул, предефинирани изпълнение FOPEN функции:

функция FOPEN (местоположение в varchar2. името на файла в varchar2. open_mode в

varchar2. max_linesize в binary_integer);

Параметри за местоположение, име на файла OPEN_MODE и реагират по същия начин, както при първия вариант FOPEN и MAXLINESIZE се използва за определяне на максималния размер на файла на низа. Обхват: от 1 до 32767. Ако това не е уточнено, максималния размер на низ е настроен на 1024. Ако MAXLINESIZE по-малко от 1 или по-голяма от 32 767 е установено изключение UTL_FILE.INVALID_MAXLINESIZE.

След края на четене от файл или да пишете на файла трябва да бъдат затворени с помощта FCLOSE процедура. В резултат на това освобождава ресурсите, използвани от UTL_FILE на модул за работа с файла. FCLOSE описание е както следва:

процедура FCLOSE (file_handle в по FILE_TYPE);

Единственият параметър на тази процедура е да файловия. Всички промени, които трябва да бъдат записани във файла са завършени преди да се затвори. В случай на грешки запис настроен UTL_FILE.WRITE_ERROR. Ако Характеристиката не идентифицира валиден отворен файл, след това задайте UTL_FILE.INVALID_FILEHANDLE.

Често, преди грим чете от файл или запис / пренапише файл е полезно да се провери дали файлът е отворен. За тези цели, UTL_FILE модул осигурява IS_OPEN функция. Това логично функция връща TRUE, ако даден файл е отворен, и FALSE, ако вече не е отворена. Описание на функциите IS_OPEN е както следва:

функция е отворен (file_handle в FILE TYPE)

Дори когато IS_OPEN връща TRUE, когато се работи с файла може да бъде грешка на операционната система.

процедура FCLOSE_ALL UTL_FILE модул затваря всички отворени файлове. Тя е предназначена за отстраняване на остарели данни, което е особено полезно при изключение манипулатор:

Тази процедура отнема не аргументи. Всички чакат да бъдат написани промени промие на диска, преди да затворите файла. Ето защо, в случай на запис FCLOSE_ALL за грешка може да се установи изключение UTL_FILE.WRITE_ERROR.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!