Документация iSZN

pkRFile.sql

Сообщения об ошибках

Error_NoFile

PROCEDURE Error_NoFile(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Генерирует exception «Файл не найден».

Error_FileLocked

PROCEDURE Error_FileLocked(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Генерирует exception «Файл заблокирован».

Работа с файлами

CheckFileExists

PROCEDURE CheckFileExists(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Проверяет, существует ли указанный файл.

IsFileUsed

FUNCTION IsFileUsed(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Определяет, используется ли файл (имеются ли на него ссылки).
Параметры:

  • iRegionID, iID - ключ файла;
  • iStrict - определяет поведение при отсутствии файла.

Если ссылки на файл имеются, возвращает 1; иначе 0. Если файл не существует и iStrict=0, возвращает 0.

AllocateNewFileID

FUNCTION AllocateNewFileID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый свободный ID файла.

CreateEmptyFile

PROCEDURE CreateEmptyFile(iRegionID PLS_INTEGER, sFileName VARCHAR2, dFileDate DATE, sMediaType VARCHAR2, iID OUT PLS_INTEGER, bFileContent OUT BLOB);

Описание

Создаёт пустой файл.
Входные параметры:

  • iRegionID - ID района;
  • sFileName - имя файла;
  • dFileDate - дата создания/последнего изменения файла;
  • sMediaType - тип содержимого файла.

Выходные параметры:

  • iID - ID созданной записи;
  • bFileContent - локатор содержимого файла.

CreateFile

FUNCTION CreateFile(iRegionID PLS_INTEGER, sFileName VARCHAR2, dFileDate DATE, bFileContent BLOB, sMediaType VARCHAR2, iCompressionMethod PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Создаёт файл.
Параметры:

  • iRegionID - ID района;
  • sFileName - имя файла;
  • dFileDate - дата создания/последнего изменения файла.
  • bFileContent - содержимое файла;
  • sMediaType - тип содержимого файла;
  • iCompressionMethod - метод сжатия; константа из числа pkFile.ICompressMethod_xxx; если null, сжатие не используется.

Возвращает ID созданной записи.

CreateFileFromTempFile

FUNCTION CreateFileFromTempFile(iRegionID PLS_INTEGER, sFileName VARCHAR2, dFileDate DATE, sMediaType VARCHAR2, iTempFileID PLS_INTEGER, iCompressionMethod PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Создаёт файл из временного файла.
Параметры:

  • iRegionID - ID района;
  • sFileName - имя файла;
  • dFileDate - дата создания/последнего изменения файла;
  • sMediaType - тип содержимого файла;
  • iTempFileID - ID записи временного файла;
  • iCompressionMethod - метод сжатия; константа из числа pkFile.ICompressMethod_xxx; если null, сжатие не используется.

Возвращает ID созданной записи.
Если запись временного файла не существует или их более одной, возникает exception.

LockFile

PROCEDURE LockFile(iRegionID PLS_INTEGER, iID PLS_INTEGER, iWait PLS_INTEGER);

Описание

Блокирует указанный файл. При iWait=0 при неудачной попытке блокировки возникает exception. Если файл не существует, вызывает exception.

DeleteFileIfNotUsed

PROCEDURE DeleteFileIfNotUsed(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Удаляет файл, если он не используется.

GetFileName

FUNCTION GetFileName(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает имя указанного файла.

GetFileDate

FUNCTION GetFileDate(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN DATE;

Описание

Возвращает дату указанного файла.

GetFileSize

FUNCTION GetFileSize(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN INTEGER;

Описание

Возвращает фактический размер указанного файла в байтах.
Параметры:

  • iRegionID, iID - ключ файла;
  • iStrict - определяет поведение при отсутствии файла или невозможности получить его данные.

Если файл хранится в сжатом виде, для определения фактического размера выполняется его распаковка.

GetFileContent

FUNCTION GetFileContent(iRegionID PLS_INTEGER, iID PLS_INTEGER, rAccessKey RAW, iStrict PLS_INTEGER, iUnpackCompressed PLS_INTEGER) RETURN BLOB;

Описание

Возвращает содержимое указанного файла.
Параметры:

  • iRegionID, iID - ключ файла;
  • rAccessKey - ключ для доступа к содержимому файла;
  • iStrict - определяет поведение при отсутствии файла и при несовпадении ключа доступа;
  • iUnpackCompressed - распаковывать ли содержимое сжатый файлов (0/1).

UpdateFileInfo

PROCEDURE UpdateFileInfo(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Обновляет параметры файла: его размер и контрольную сумму, а для сжатых файлов также размер и контрольную сумму
несжатых исходных данных.
Параметры:

  • iRegionID, iID - ключ файла.

Если файл не существует, заблокирован или является внешним, возникает exception.

MakeFileExternal

PROCEDURE MakeFileExternal(iRegionID PLS_INTEGER, iID PLS_INTEGER, sFilePath OUT VARCHAR2, sExtFileName OUT VARCHAR2);

Описание

Делает файл внешним, выгружая его содержимое из BLOB в файловую систему.
Входные параметры:

  • iRegionID, iID - ключ файла.

Выходные параметры, заполняемые при успешном выполнении:

  • sFilePath - путь к файлу на сервере;
  • sExtFileName - имя файла на сервере.

Если файл уже является внешним, не удовлетворяет необходимым требованиям или параметры хранения внешних файлов не
настроены, возникает exception.

MakeFileInternal

PROCEDURE MakeFileInternal(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Переносит внешний файл в БД, загружая его содержимое из файловой системы в BLOB. Если файл не является внешним или параметры хранения внешних файлов не настроены, возникает exception. Поскольку при выполнении этой процедуры внешний файл удаляется из файловой системы, перед удалением выполняется commit, чтобы исключить потерю данных.

CompressFile

PROCEDURE CompressFile(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCompressionMethod PLS_INTEGER);

Описание

Выполняет сжатие существующего файла.
Параметры:

  • iRegionID, iID - ключ файла.
  • iCompressionMethod - метод сжатия; константа из числа pkFile.ICompressMethod_xxx.

Если файл не существует, заблокирован, уже является сжатым или является внешним, возникает exception.

DecompressFile

PROCEDURE DecompressFile(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Выполняет распаковку существующего сжатого файла.
Параметры:

  • iRegionID, iID - ключ файла.

Если файл не существует, заблокирован, является несжатым или является внешним, возникает exception.