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

pkInstFile.sql

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

Error_NoFile

PROCEDURE Error_NoFile(iID PLS_INTEGER);

Описание

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

Error_FileLocked

PROCEDURE Error_FileLocked(iID PLS_INTEGER);

Описание

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

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

CheckFileExists

PROCEDURE CheckFileExists(iID PLS_INTEGER);

Описание

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

IsFileUsed

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

Описание

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

  • iID - ID файла;
  • iStrict - определяет поведение при отсутствии файла.

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

AllocateNewFileID

FUNCTION AllocateNewFileID RETURN PLS_INTEGER;

Описание

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

CreateEmptyFile

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

Описание

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

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

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

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

CreateFile

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

Описание

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

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

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

CreateFileExternal

PROCEDURE CreateFileExternal(
  sFileName VARCHAR2, dFileDate DATE, sMediaType VARCHAR2, iFileSize PLS_INTEGER, rFileSha1 RAW,
  iCompressionMethod PLS_INTEGER, iFileSizeCompr PLS_INTEGER, rFileSha1Compr RAW,
  iID OUT PLS_INTEGER, sExtFileName OUT VARCHAR2);
-- Создаёт файл из временного файла.
-- Параметры:
--   sFileName          - имя файла;
--   dFileDate          - дата создания/последнего изменения файла;
--   sMediaType         - тип содержимого файла;
--   iTempFileID        - ID записи временного файла;
--   iCompressionMethod - метод сжатия; константа из числа pkFile.ICompressMethod_xxx;
--                        если null, сжатие не используется.
-- Возвращает ID созданной записи.
-- Если запись временного файла не существует или их более одной, возникает exception.
FUNCTION  CreateFileFromTempFile(sFileName VARCHAR2, dFileDate DATE, sMediaType VARCHAR2, iTempFileID PLS_INTEGER, iCompressionMethod PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Создаёт файл как внешний.
Входные параметры:

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

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

  • iID - ID созданного файла;
  • sExtFileName - имя внешнего файла в файловой системе сервера.

CreateFileFromTempFile

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

Описание

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

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

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

LockFile

PROCEDURE LockFile(iID PLS_INTEGER, iWait PLS_INTEGER);

Описание

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

DeleteFileIfNotUsed

PROCEDURE DeleteFileIfNotUsed(iID PLS_INTEGER);

Описание

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

GetFileName

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

Описание

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

GetFileDate

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

Описание

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

GetFileSize

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

Описание

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

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

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

GetFileContent

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

Описание

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

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

UpdateFileInfo

PROCEDURE UpdateFileInfo(iID PLS_INTEGER);

Описание

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

  • iID - ID файла.

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

MakeFileExternal

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

Описание

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

  • iID - ID файла.

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

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

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

MakeFileInternal

PROCEDURE MakeFileInternal(iID PLS_INTEGER);

Описание

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

CompressFile

PROCEDURE CompressFile(iID PLS_INTEGER, iCompressionMethod PLS_INTEGER);

Описание

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

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

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

DecompressFile

PROCEDURE DecompressFile(iID PLS_INTEGER);

Описание

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

  • iID - ID файла.

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