Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

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

htInit - Инициализация работы

Назначение:

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

Функция должна вызываться ДО первого обращения к функциям СУБД. Выполняет инициализацию внутренних переменных и настройку на работу с заданными параметрами.

Для инициализации можно задать параметры htInit через файл конфигурации

Прототип:

int HTAPI htInit(
	LPINIT	fpParms,	/* Адрес структуры с параметрами */
	int 	nParmLen	/* Длина структуры параметров */
 );

Параметры

fpParms
задает адрес структуры, описывающей параметры инициализации экземпляра СУБД. Если операнд опущен (NULL), все значения параметров будут установлены по умолчанию. Структура имеет тип INIT
nParmLen
определяет размер заполненной части структуры, содержащей параметры инициализации.

Результат:

0 при успешном завершении
отрицательное число код ошибки

Задание параметров htInit через файл конфигурации

Многие параметры инициализации могут быть заданы через предложения файла файла конфигурации HYTECH.INI. Переменные файла конфигурации обладают меньшим приоритетом, чем явно заданные в качестве параметров htInit.

Параметры функции htInit могут быть заданы через предложения файла конфигурации HYTECH.INI следующим образом:

  • "TablesCnt=" задает число открываемых таблиц;
  • "LockTout=" задает максимальный таймаут сетевых ресурсов
  • "PollDelay=" задает задержку опроса сетевых ресурсов
  • "TransTout=" задает максимальный таймаут транзакций
  • "TransMode=" задает режимы механизма транзакций
  • "TaskHandles=" задает число файлов для задачи;
  • "HtHandles=" задает число файлов для СУБД;
  • "NetName=" задает имя станции в сети;
  • "NetPath=" задает имя каталога сетевых файлов;
  • "TmpPath=" задает имя каталога временных файлов;
  • "TrtPath=" задает имя каталога журнала транзакции.

Перечисленные предложения файла конфигурации собраны в разделы следующим образом:

	[Handles]
	 TaskHandles=
	 HtHandles=
	[Limits]
	 TablesCnt=
	 LockTout=
	 PollDelay=
	 TransTout=
	 TransMode=
	[Paths]
	 NetName=
	 NetPath=
	 TmpPath=
	 TrtPath=

Задание параметров htInit через переменные среды

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

Для задания имени каталога временных файлов можно использовать переменную среды 'HTTMP='. Например, так:

 SET HTTMP=C:\HYTECH\TMP

Кроме того, СУБД "понимает" переменную 'TEMP=', которую использует, если не находит 'HTTMP='.

Для задания имени каталога транзакций можно использовать переменную среды 'HTTRT='. Например, так:

SET HTTRT=C:\HYTECH\TRT

Для задания имени каталога временных файлов можно использовать переменную среды 'HTNET='. Например, так:

SET HTNET=F:\HYTECH\LOCKS

Для задания имени станции можно использовать переменную среды 'HTNAME='. Например, так:

SET HTNAME=USER

Значения параметров htInit, принимаемые по умолчанию

Если пользователь явно не задал значений параметров инициализации и не заданы соответствующие переменные среды, то принимаются следующие значения:

 INIT.nTableCnt = 4;
 INIT.nTaskCnt = 8;
 INIT.nHtCnt = 12;
 INIT.nLockTimeOut = 5;
 INIT.nPollDelay = 0;
 INIT.nTransTimeOut = 5;
 INIT.nTrsMode = TRS_OFF;
 INIT.fpTmpPath = каталог Windows / текущий каталог;
 INIT.fpNetPath = каталог Windows / текущий каталог;
 INIT.fpNetName = "HyTech";
 INIT.fpTrtPath = каталог Windows / текущий каталог;