Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

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

htTableCopy - Копировать таблицу в другую

Назначение:

Функция предназначена для создания копии таблицы. Копируется описание таблицы (включая пароли доступа и распределение ключей) и данные (существующие на момент копирования). Таблица-копия может располагаться в другом каталоге или на другом устройстве. Если таблица с таким именем существует, она будет затерта. Исходная таблица должна быть закрыта.

Имя получаемой таблицы не должно совпадать с именем исходной. Иначе обе таблицы будут иметь один локальный сетевой замок, что недопустимо. Напомним, что локальный сетевой замок создается в специально созданном для данной станции каталоге. Имя замка совпадает с именем таблицы. Поэтому нельзя иметь таблицы с одинаковым именем.

Прототип:

int HTAPI htTableCopy(
  char far	*fpDstTable, 	/* Имя таблицы-копии (можно без расширения) */
  char far	*fpSrcTable, 	/* Имя исходной таблицы (можно без расширения) */
  char far	*fpSrcRdPswd, 	/* Пароль для доступа на чтение */
  int		nSrcOpenMode	/* Режим открытия исходной таблицы */
);

Параметры:

fpDstTable
задает имя таблицы-копии (с указанием полного или частичного пути), расширение задавать не обязательно
fpSrcTable
задает имя файла описания исходной таблицы (с указанием полного или частичного пути), расширение задавать не обязательно
fpSrcRdPswd
задает строку, используемую в качестве пароля для доступа к таблице на чтение. Если пароль не нужен, можно задать NULL или пустую строку "".
nSrcOpenMode
задает режим открытия таблицы. Функция копирования откроет доступ к исходной таблице в процессе своей работы именно в таком режиме. Подбирая режим можно выполнить копирование таблицы, используемой в данный момент в сети. Естественно, что чтение данных таблицы должно быть позволено пользователю (известен пароль доступа на чтение).

Результат:

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

Пример.

Скопировать текущее состояние таблицы на другой диск. Таблица доступна всем.

int	rc;
rc = htTableCopy( "table", "save", NULL, TAB_SHARE );
if( rc < 0 )
	/* Обработка ошибок */