Документация 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
Описание
Вызывает exception “Каталог не существует”.
Error_InvalidDirectoryPath
Описание
Вызывает 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
Описание
Возвращает путь в файловой системе для указанного объекта 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
Описание
Загружает содержимое 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
Описание
Возвращает 1, если указанный файл существует в файловой системе сервера, иначе 0.
DirectoryExists
Описание
Возвращает 1, если указанный каталог в файловой системе сервера существует, иначе 0.
DirectoryExists
Описание
Возвращает 1, если указанный каталог в файловой системе сервера существует, иначе 0.
GetFileObjectList
PROCEDURE GetFileObjectList(sDirPath VARCHAR2, iObjectType NUMBER, ssResult OUT uszn.TStringList255);
Описание
Возвращает список имён файловых объектов указанного вида в заданном каталоге файловой системы сервера.
Параметры:
- sDirPath - каталог, в котором производится поиск;
- iObjectType - тип объекта файловой системы;
- ssResult - возвращаемый список имён найденных объектов.
GetFileNameList
Описание
Возвращает список файлов в указанном каталоге файловой системы сервера.
GetDirectoryNameList
Описание
Возвращает список каталогов в указанном каталоге файловой системы сервера.
GetFileObjNameList
Описание
Возвращает список файлов и каталогов в указанном каталоге файловой системы сервера.
CreateDirectory
Описание
Создаёт указанный каталог в файловой системе сервера.
Параметры:
- sDirPath - путь к каталогу;
- sDirName - наименование создаваемого каталога.
CreateDirectoryPath
Описание
Создаёт указанный каталог вместе с необходимыми вышестоящими каталогами в файловой системе сервера.
DeleteServerFileOrDir
Описание
Удаляет серверный файл или каталог.
Параметры:
- sDirPath - полный путь к файлу в файловой системе;
- sName - наименование файла или каталога;
- iRecursively - удалять ли рекурсивно содержащиеся в каталоге файлы и подкаталоги (0/1); при удалении файла данный параметр игнорируется.
ExportBLOB
Описание
Сохраняет данные из BLOB в файл sFileName.
GetFileContent
Описание
Считывает содержимое файла и возвращает его в виде BLOB.
GetTempFileName
FUNCTION GetTempFileName(sFilePath VARCHAR2, sNamePrefix VARCHAR2, sFileExt VARCHAR2) RETURN VARCHAR2;
Описание
Возвращает случайное имя файла. Пытается сгенерировать уникальное имя (проверяет отсутствие файла).
Работа с серверными папками и файлами
GetISZNHome
FUNCTION GetISZNHome(iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование корневого каталога для серверных файлов Системы. Параметр iStrict определяет поведение при возникновении ошибки.
ValidateISZNHome
Описание
Проверяет, что в указанном каталоге находится файл с именем 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
Описание
Возвращает строковый литерал для php.
Работа с файлами в каталоге обмена
GetFileLineCount
FUNCTION GetFileLineCount(sDirectory VARCHAR2, sFileName VARCHAR2, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;
Описание
Возвращает количество строк в указанном файле. В случае ошибки поведение определяется параметром iStrict.
FileAppendLines
Описание
Добавляет строки, содержащиеся в 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 на выполнение команд ОС.