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

pkFile.sql

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

Error_InvalidServerFolder

PROCEDURE Error_InvalidServerFolder(iFolderRgnID PLS_INTEGER, iFolderID PLS_INTEGER);

Описание

Вызывает exception «Недопустимый ключ серверной папки».

Error_InvalidServerFile

PROCEDURE Error_InvalidServerFile(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER);

Описание

Вызывает exception «Недопустимый ключ серверного файла».

Error_NoServerFolder

PROCEDURE Error_NoServerFolder(iOwnerFolderRgnID PLS_INTEGER, iOwnerFolderID PLS_INTEGER, sFolderName VARCHAR2);

Описание

Вызывает exception «Серверная папка отсутствует».

Error_NoServerFile

PROCEDURE Error_NoServerFile(iFolderRgnID PLS_INTEGER, iFolderID PLS_INTEGER, sFileName VARCHAR2);

Описание

Вызывает exception «Серверный файл отсутствует».

Error_ServerFileIsNotDynamic

PROCEDURE Error_ServerFileIsNotDynamic(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER);

Описание

Вызывает exception «Серверный файл не является динамическим».

Error_NoServerFolderLicense

PROCEDURE Error_NoServerFolderLicense(iFolderRgnID PLS_INTEGER, iFolderID PLS_INTEGER);

Описание

Вызывает exception «Отсутствуют опции продукта, необходимые для доступа к серверной папке».

Error_InvalidCompressionMethod

PROCEDURE Error_InvalidCompressionMethod(iMethodID PLS_INTEGER);

Описание

Генерирует exception “Неизвестный алгоритм сжатия”.

Error_InvalidExternalFileOp

PROCEDURE Error_InvalidExternalFileOp;

Описание

Вызывает exception “Операция над внешними файлами не поддерживается”.

Error_FileIsAlreadyExternal

PROCEDURE Error_FileIsAlreadyExternal;

Описание

Вызывает exception “Файл уже является внешним”.

Error_FileIsNotExternal

PROCEDURE Error_FileIsNotExternal;

Описание

Вызывает exception “Файл не является внешним”.

Error_NoExternalFileSizeOrHash

PROCEDURE Error_NoExternalFileSizeOrHash;

Описание

Вызывает exception “Не заданы размер или контрольная сумма сжатого файла”.

Error_FileIsAlreadyCompressed

PROCEDURE Error_FileIsAlreadyCompressed;

Описание

Вызывает exception “Файл уже является сжатым”.

Error_FileIsNotCompressed

PROCEDURE Error_FileIsNotCompressed;

Описание

Вызывает exception “Файл не является сжатым”.

Error_NoDirectory

PROCEDURE Error_NoDirectory(sDirectoryName VARCHAR2);

Описание

Вызывает exception “Каталог не существует”.

Error_InvalidDirectoryPath

PROCEDURE Error_InvalidDirectoryPath(sDirectoryName VARCHAR2);

Описание

Вызывает exception “Некорректный путь у каталога...”.

Функции для определения параметров платформы

GetPlatformID

FUNCTION GetPlatformID(iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID платформы, на которой запущена СУБД. iStrict определяет поведение при возникновении ошибки.
Возможные значения результата:

  • IPlatformID_Linux, IPlatformID_Windows, null (если платформа неизвестна, только при iStrict=0).

GetNewLineStr

FUNCTION GetNewLineStr(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает разделитель строк для текущей платформы. Параметр iStrict определяет поведение при возникновении ошибки.

GetServerPathDelimiter

FUNCTION GetServerPathDelimiter(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает разделитель путей для серверных каталогов для текущей платформы. Параметр iStrict определяет поведение при возникновении ошибки.

Работа с объектами DIRECTORY

GetDirectoryPath

FUNCTION GetDirectoryPath(sDirectoryName VARCHAR2) RETURN VARCHAR2;

Описание

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

Работа с алгоритмами сжатия

CompressData

FUNCTION CompressData(bData BLOB, iCompressionMethod PLS_INTEGER) RETURN BLOB;

Описание

Сжимает данные заданным алгоритмом.
Параметры:

  • bData - исходные данные;
  • iCompressionMethod - ID алгоритма сжатия; константа из числа ICompressMethod_xxx.

Если значение ID алгоритма некорректно, возникает exception.

DecompressData

FUNCTION DecompressData(bData BLOB, iCompressionMethod PLS_INTEGER, iStrict PLS_INTEGER) RETURN BLOB;

Описание

Распаковывает данные, сжатые заданным алгоритмом.
Параметры:

  • bData - сжатые данные;
  • iCompressionMethod - ID алгоритма сжатия; константа из числа ICompressMethod_xxx;
  • iStrict - определяет поведение в случае, если значение ID алгоритма некорректно.

GetOriginalDataSize

FUNCTION GetOriginalDataSize(bCompressedData BLOB, iCompressionMethod PLS_INTEGER, iStrict PLS_INTEGER) RETURN INTEGER;

Описание

Определяет размер исходных данных с учётом алгоритма сжатия.
Параметры:

  • bCompressedData - сжатые данные;
  • iCompressionMethod - ID алгоритма сжатия; константа из числа ICompressMethod_xxx;
  • iStrict - определяет поведение, если ID алгоритма сжатия некорректно.

Если bCompressedData=null, возвращает null.

Работа с BFILE

LoadBFile

FUNCTION LoadBFile(bfSource IN OUT NOCOPY BFILE) RETURN BLOB;

Описание

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

Работа с curl

GetCurlPath

FUNCTION GetCurlPath(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает путь к исполняемому файлу curl. Значение берётся из настроек Системы.
Параметры:

  • iStrict - определяет поведение при отсутствии значения настройки.

CurlGet

FUNCTION CurlGet(sURL VARCHAR2, Headers IN uszn.TNamedStringValueList, iTimeout PLS_INTEGER) RETURN BLOB;

Описание

Выполняет GET-запрос с использованием curl.
Параметры:

  • sURL - URL;
  • Headers - заголовки запроса;
  • iTimeout - время ожидания ответа в секундах.

Работа с chmod

GetChmodPath

FUNCTION GetChmodPath(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает путь к исполняемому файлу chmod. Значение берётся из настроек Системы.
Параметры:

  • iStrict - определяет поведение при отсутствии значения настройки.

MakeExecutable

PROCEDURE MakeExecutable(sFileName VARCHAR2, iIsExecutable PLS_INTEGER);

Описание

Включает/выключает у файла флаг x (executable).

Работа с zip/unzip

GetZipPath

FUNCTION GetZipPath(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает путь к исполняемому файлу zip. Значение берётся из настроек Системы.
Параметры:

  • iStrict - определяет поведение при отсутствии значения настройки.

GetUnzipPath

FUNCTION GetUnzipPath(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает путь к исполняемому файлу unzip. Значение берётся из настроек Системы.
Параметры:

  • iStrict - определяет поведение при отсутствии значения настройки.

Дисковые операции на сервере

FileExists

FUNCTION FileExists(sDirPath VARCHAR2, sFileName VARCHAR2) RETURN NUMBER;

Описание

Возвращает 1, если указанный файл существует в файловой системе сервера, иначе 0.

DirectoryExists

FUNCTION DirectoryExists(sDirPath VARCHAR2) RETURN NUMBER;

Описание

Возвращает 1, если указанный каталог в файловой системе сервера существует, иначе 0.

DirectoryExists

FUNCTION DirectoryExists(sDirPath VARCHAR2, sDirName VARCHAR2) RETURN NUMBER;

Описание

Возвращает 1, если указанный каталог в файловой системе сервера существует, иначе 0.

GetFileObjectList

PROCEDURE GetFileObjectList(sDirPath VARCHAR2, iObjectType NUMBER, ssResult OUT uszn.TStringList255);

Описание

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

  • sDirPath - каталог, в котором производится поиск;
  • iObjectType - тип объекта файловой системы;
  • ssResult - возвращаемый список имён найденных объектов.

GetFileNameList

FUNCTION GetFileNameList(sDirPath VARCHAR2) RETURN uszn.TStringList255;

Описание

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

GetDirectoryNameList

FUNCTION GetDirectoryNameList(sDirPath VARCHAR2) RETURN uszn.TStringList255;

Описание

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

GetFileObjNameList

FUNCTION GetFileObjNameList(sDirPath VARCHAR2) RETURN uszn.TStringList255;

Описание

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

CreateDirectory

PROCEDURE CreateDirectory(sDirPath VARCHAR2, sDirName VARCHAR2);

Описание

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

  • sDirPath - путь к каталогу;
  • sDirName - наименование создаваемого каталога.

CreateDirectoryPath

PROCEDURE CreateDirectoryPath(sDirPath VARCHAR2);

Описание

Создаёт указанный каталог вместе с необходимыми вышестоящими каталогами в файловой системе сервера.

DeleteServerFileOrDir

PROCEDURE DeleteServerFileOrDir(sDirPath VARCHAR2, sName VARCHAR2, iRecursively NUMBER);

Описание

Удаляет серверный файл или каталог.
Параметры:

  • sDirPath - полный путь к файлу в файловой системе;
  • sName - наименование файла или каталога;
  • iRecursively - удалять ли рекурсивно содержащиеся в каталоге файлы и подкаталоги (0/1); при удалении файла данный параметр игнорируется.

ExportBLOB

PROCEDURE ExportBLOB(sFilePath VARCHAR2, sFileName VARCHAR2, FileContent BLOB);

Описание

Сохраняет данные из BLOB в файл sFileName.

GetFileContent

FUNCTION GetFileContent(sFilePath VARCHAR2, sFileName VARCHAR2) RETURN BLOB;

Описание

Считывает содержимое файла и возвращает его в виде BLOB.

GetTempFileName

FUNCTION GetTempFileName(sFilePath VARCHAR2, sNamePrefix VARCHAR2, sFileExt VARCHAR2) RETURN VARCHAR2;

Описание

Возвращает случайное имя файла. Пытается сгенерировать уникальное имя (проверяет отсутствие файла).

Работа с серверными папками и файлами

GetISZNHome

FUNCTION GetISZNHome(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование корневого каталога для серверных файлов Системы. Параметр iStrict определяет поведение при возникновении ошибки.

ValidateISZNHome

PROCEDURE ValidateISZNHome(sDirPath VARCHAR2);

Описание

Проверяет, что в указанном каталоге находится файл с именем SSZNHomeMarker.

CheckServerFolderExists

PROCEDURE CheckServerFolderExists(iFolderRgnID PLS_INTEGER, iFolderID PLS_INTEGER, iCheckExists PLS_INTEGER, iCheckProductOptions PLS_INTEGER);

Описание

Проверяет существование серверной папки, а также наличие опций продукта, необходимых для доступа к ней.
Параметры:

  • iFolderRgnID, iFolderID - ключ серверной папки;
  • iCheckExists - проверять ли существование папки (0/1);
  • iCheckProductOptions - проверять ли наличие необходимых опций продукта (0/1).

GetServerFolderPath

FUNCTION GetServerFolderPath(iFolderRgnID PLS_INTEGER, iFolderID PLS_INTEGER, iIncludeTrailingDelimiter PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает путь к указанному серверному каталогу.
Параметры:

  • iFolderRgnID, iFolderID - ключ серверного каталога;
  • iIncludeTrailingDelimiter - добавлять ли в конце разделитель пути (0/1);
  • iStrict - определяет поведение при возникновении ошибки.

GetServerFilePath

FUNCTION GetServerFilePath(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER, iIncludeTrailingDelimiter PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает путь к серверному файлу.
Параметры:

  • iFileRgnID, iFileID - ключ серверного файла;
  • iIncludeTrailingDelimiter - добавлять ли в конце разделитель пути (0/1);
  • iStrict - определяет поведение при возникновении ошибки.

GetServerFileName

FUNCTION GetServerFileName(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

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

  • iFileRgnID, iFileID - ключ серверного файла;
  • iStrict - определяет поведение при возникновении ошибки.

GetFullServerFileName

FUNCTION GetFullServerFileName(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает полное наименование серверного файла (вместе с путём).
Параметры:

  • iFileRgnID, iFileID - ключ серверного файла;
  • iStrict - определяет поведение при возникновении ошибки.

GetServerFileFolderID

FUNCTION GetServerFileFolderID(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID серверной папки, в которой находится указанный серверный файл.
Параметры:

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

GetServerFileID

FUNCTION GetServerFileID(iFolderRgnID PLS_INTEGER, iFolderID PLS_INTEGER, sFileName VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID серверного файла по его имени.
Параметры:

  • iFolderRgnID, iFolderID - ключ серверной папки, в которой ищется файл;
  • sFileName - имя файла;
  • iStrict - определяет поведение при отсутствии указанного файла.

GetDynamicFileContent

FUNCTION GetDynamicFileContent(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER) RETURN BLOB;

Описание

Генерирует и возвращает содержимое динамического файла.

GetServerFileContent

FUNCTION GetServerFileContent(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER) RETURN BLOB;

Описание

Возвращает содержимое серверного файла. Если файл является динамическим, генерирует фактическое содержимое.

DeployServerFile

PROCEDURE DeployServerFile(iFileRgnID PLS_INTEGER, iFileID PLS_INTEGER);

Описание

Устанавливает указанный серверный файл.

DeployServerFiles

PROCEDURE DeployServerFiles(iFolderRgnID PLS_INTEGER, iFolderID PLS_INTEGER, iRegionID PLS_INTEGER, iRecursively PLS_INTEGER, iCreateFolders PLS_INTEGER, iDeleteUnknownObjects PLS_INTEGER);

Описание

Устанавливает серверные файлы, содержащиеся в указанной серверной папке.
Параметры:

  • iFolderRgnID, iFolderID - ключ серверной папки; если null, устанавливаются серверные папки корневых папок;
  • iRegionID - ID района, для которого устанавливаются файлы; устанавливаются также файлы всех вышестоящих и нижестоящих по иерархии районов;
  • iRecursively - выполнять ли выгрузку файлов рекурсивно, включая подкаталоги (0/1);
  • iCreateFolders - создавать ли отсутствующие каталоги (0/1);
  • iDeleteUnknownObjects - удалять ли лишние папки и файлы (0/1).

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

GetPhpLiteralStr

FUNCTION GetPhpLiteralStr(s VARCHAR2) RETURN VARCHAR2;

Описание

Возвращает строковый литерал для php.

Работа с файлами в каталоге обмена

GetFileLineCount

FUNCTION GetFileLineCount(sDirectory VARCHAR2, sFileName VARCHAR2, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

Возвращает количество строк в указанном файле. В случае ошибки поведение определяется параметром iStrict.

FileAppendLines

PROCEDURE FileAppendLines(hFile UTL_FILE.File_Type, cLines CLOB, sDelimiter VARCHAR2 := NULL);

Описание

Добавляет строки, содержащиеся в CLOB, в файл.
Параметры:

  • hFile - дескриптор файла; файл должен быть открыт для записи;
  • cLines - список добавляемых строк;
  • sDelimiter - разделитель строк; если не задан, используется разделитель строк для текущей платформы.

Работа с внешними файлами Системы

GetInstFilesRootDir

FUNCTION GetInstFilesRootDir(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование корневого каталога на сервере для внешних файлов Системы. Параметр iStrict определяет поведение при возникновении ошибки.

UpdateInstFileDirectories

PROCEDURE UpdateInstFileDirectories;

Описание

Обновляет список директорий для доступа к внешним файлам в соответствии с текущим значением настройки экземпляра Системы INSTFILES_DIR.

Работа с внешними файлами, связываемыми с объектами

GetRFilesRootDir

FUNCTION GetRFilesRootDir(iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование корневого каталога на сервере для внешних файлов, связываемых с объектами. Параметр iStrict определяет поведение при возникновении ошибки.

UpdateRFileDirectories

PROCEDURE UpdateRFileDirectories;

Описание

Обновляет список директорий для доступа к внешним файлам в соответствии с текущим значением настройки экземпляра Системы RFILES_DIR.

Работа с архивами

GetArchiveEntryIndex

FUNCTION GetArchiveEntryIndex(ArchiveEntries uszn.TZipArchiveEntryList, sFileName VARCHAR2, iIsDir PLS_INTEGER, iCaseAware PLS_INTEGER, iStrictExists PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Ищет файл или папку в архиве по имени.
Параметры:

  • ArchiveEntries - содержимое архива;
  • sFileName - имя файла или папки;
  • iIsDir - ищется ли папка вместо файла (0/1);
  • iCaseAware - учитывается ли регистр символов в имени файла;
  • iStrictExists - определяет поведение при отсутствии файла с таким именем.

Возвращает индекс файла в архиве или null, если файл не найден (только при iStrictExists!=0).
TODO: сделать поиск внутри каталогов.

GetArchiveEntryIndexByExt

FUNCTION GetArchiveEntryIndexByExt(ArchiveEntries uszn.TZipArchiveEntryList, sFileExt VARCHAR2, iCaseAware PLS_INTEGER, iStrictExists PLS_INTEGER, iStrictUnique PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Ищет файл в архиве по его расширению.
Параметры:

  • ArchiveEntries - содержимое архива;
  • sFileExt - расширение файла;
  • iCaseAware - учитывается ли регистр символов в имени файла;
  • iStrictExists - определяет поведение при отсутствии в архиве файла с таким расширением: 0 - вернуть null, 1 - вызвать exception;
  • iStrictUnique - определяет поведение при наличии в архиве более одного файла с таким расширением: 0 - вернуть null, 1 - вызвать exception.

Возвращает индекс файла в архиве или null.

ExtractFileByExt

FUNCTION ExtractFileByExt(bArchiveData BLOB, sFileExt VARCHAR2, iStrictExists PLS_INTEGER, iStrictUnique PLS_INTEGER) RETURN BLOB;

Описание

Извлекает из архива файл по его расширению.
Параметры:

  • bArchiveData - двоичные данные архива;
  • sFileExt - расширение файла (без учёта регистра);
  • iStrictExists - определяет поведение при отсутствии в архиве файла с таким расширением: 0 - вернуть null, 1 - вызвать exception;
  • iStrictUnique - определяет поведение при наличии в архиве более одного файла с таким расширением: 0 - вернуть null, 1 - вызвать exception.

Привилегии

GrantISZNHomePermissions

PROCEDURE GrantISZNHomePermissions;

Описание

Предоставляет необходимые разрешения Java пользователю USZN на текущий корневой каталог серверных файлов Системы.

GrantUTLFilePermissions

PROCEDURE GrantUTLFilePermissions;

Описание

Предоставляет необходимые разрешения Java пользователю USZN на текущий каталог UTL_FILE_DIR.

GrantInstFilePermissions

PROCEDURE GrantInstFilePermissions;

Описание

Предоставляет необходимые разрешения Java пользователю USZN на каталог для внешних файлов Системы.

GrantRFilePermissions

PROCEDURE GrantRFilePermissions;

Описание

Предоставляет необходимые разрешения Java пользователю USZN на каталог для файлов, связываемых с объектами.

GrantExecPermissions

PROCEDURE GrantExecPermissions;

Описание

Предоставляет необходимые разрешения Java пользователю USZN на выполнение команд ОС.