Инициализация пути к БД
Назначение
Сохранение в управляющей структуре LINDBCtrl пути к БД с целью последующего его использования для запуска СУБД.
Синтаксис
L_LONG LINDBCtrlSetDbPath(t_LINDBCtrl* LINDBCtrl, char* DbPath);
Входные данные
Входными данными являются:
-
инициализированная управляющая структура LINDBCtrl;
-
путь к БД. Допустимые значения:
-
строка длиной не более 1024 байт (должна заканчиваться двоичным нулем);
-
NULL-значение.
-
Выходные данные
Выходными данными является управляющая структура LINDBCtrl.
В управляющей структуре будут возвращены:
| Имя поля | Значение | |
|---|---|---|
| DbPath | Путь к каталогу БД | |
| RetStatus | Библиотечный код завершения | |
| SysStatus | 0 |
Описание
Функция сохраняет в специально выделенной области динамической памяти, указатель на которую размещается в управляющей структуре LINDBCtrl, заданный в аргументе DbPath путь к БД.
Если аргумент DbPath равен NULL, в качестве пути к БД используется текущий каталог.
Возвращаемые значения
Функция возвращает:
-
0– нормальное завершение; -
-1– путь к БД не инициализирован.
Коды завершения
| Код | Описание | |
|---|---|---|
| E_LINCTRL_NOINIT | Управляющая структура LINDBCtrl не инициализирована | |
| E_LINCTRL_NOMEM | Невозможность выделения динамической памяти для поля DbPath управляющей структуры |
Пример
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "linctrl.h"
#include "exlib.h"
void PrintError(t_LINDBCtrl *LINDBCtrl);
void main()
{
t_LINDBCtrl LINDBCtrl;
CHAR LinterPath[]="/usr/linter";
LONGINT Err;
Err=LINDBCtrlInit(&LINDBCtrl,LinterPath);
if (Err != NORMAL)
PrintError(&LINDBCtrl);
printf("Initialisation LINDBCtrl\n");
Err= LINDBCtrlSetDbPath(&LINDBCtrl,NULL);
if (Err != NORMAL)
PrintError(&LINDBCtrl);
printf("Set DBPath\n");
printf("End Example\n");
}