Документация 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
Описание
Делает файл внешним, выгружая его содержимое из 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.