Для администратора

Доступ к базе Венд-Аналитики

Пошагово, если раньше этого не делали

Нам нужно две вещи: чтобы наш сервер видел вашу базу по сети и чтобы у нас была учётная запись с правом читать. Всё остальное — наша работа.

Что происходит с базой

Мы подключаемся к Firebird по сети и только читаем. Режим чтения включается на уровне транзакции: любая попытка записи отклоняется самой СУБД ошибкой SQLCODE −817 — не нашим обещанием, а Firebird. Ни одна строка в вашей базе не меняется.

1

Проверьте, что база доступна по сети

Firebird слушает порт 3050. Машина, где будет стоять продукт, должна видеть сервер с базой по этому порту. Если между ними межсетевой экран — откройте 3050 только с адреса нашего сервера, а не наружу целиком.

Если продукт будет жить на нашем сервере, нужен внешний доступ; если на вашем — достаточно локальной сети.

2

Заведите пользователя только на чтение

Не обязательно, но так надёжнее: у нас на руках не будет реквизитов, которыми в принципе можно писать. Выполните под администратором базы:

CREATE USER GROWVEND PASSWORD 'длинный-пароль';

Права Firebird даёт по таблицам, а не на базу целиком, — поэтому список команд сначала генерируется запросом, а потом выполняется:

SELECT 'GRANT SELECT ON ' || TRIM(RDB$RELATION_NAME) || ' TO GROWVEND;'
FROM RDB$RELATIONS
WHERE RDB$SYSTEM_FLAG = 0
  AND RDB$RELATION_TYPE IN (0, 1);

Результат скопировать и выполнить. Отозвать доступ потом — одна команда: DROP USER GROWVEND;

Если баз у вас несколько — например, снеки и кофе заведены отдельно, — повторите в каждой.

Если не хотите заводить пользователя — подойдёт и существующая учётная запись. Тогда защита держится на нашей стороне, режимом чтения.

3

Проверьте реквизиты до того, как их прислать

Самый быстрый способ на Windows — стандартный ODBC-конфигуратор. Нам он не нужен: мы подключаемся к базе напрямую. Но кнопкой «Проверка соединения» вы за минуту убедитесь, что адрес, путь и пароль рабочие — и не будете гадать, если у нас что-то не соединится.

Откройте «ODBC Data Sources (64-bit)» — приложение есть в любой Windows. Вкладка System DSN, кнопка Add.

Окно ODBC Data Source Administrator, вкладка System DSN

Выберите Firebird/InterBase driver. Если его нет в списке — скачайте с firebirdsql.org и установите, после этого он появится.

Выбор драйвера Firebird/InterBase

Заполните поля. База данных — в виде адрес/3050:путь\к\файлу.gdb. Клиент — путь к fbclient64.dll. Символьная таблица обычно WIN1251, диалект 3.

Пустое окно Firebird ODBC Конфигуратора

Обязательно отметьте «read» в блоке «Инициализация транзакции» — по умолчанию источник открывается на запись.

Галочка read в блоке Инициализация транзакции

Нажмите «Проверка соединения». Ответило — реквизиты рабочие.

⚠️ Эта галочка защищает только этот источник на этой машине. Правами учётной записи она не управляет: другое приложение с теми же реквизитами будет писать свободно. Настоящее ограничение — шаг 2.

4

Пришлите нам

IP сервера с базой и порт (по умолчанию 3050 — укажите свой, если меняли), путь к файлу базы, логин и пароль, версию Firebird. Если баз несколько — путь к каждой. Пароли — личным сообщением, не в общем чате.