Firebird соединение ODB C удаленно при использовании нестандартного порта TCP - PullRequest
1 голос
/ 12 февраля 2020

У меня есть сервер с Firebird 2.5.3, и мне нужно прочитать базу данных на другом сервере через соединение ODB C для использования в проекте SSIS (службы интеграции), поэтому я поделился этой папкой с базой данных .FDB и установил адрес в моем соединении ODB C, но не работает.

enter image description here

Мой файл firebird.conf:

# ----------------------------
# TCP Protocol Settings
#
# The TCP Service name/Port number to be used for client database
# connections.
#
# It is only necessary to change one of the entries, not both.  The
# order of precendence is the 'RemoteServiceName' (if an entry is
# found in the 'services.' file) then the 'RemoteServicePort'.
#
# Type: string, integer
#
RemoteServiceName = fb_db
RemoteServicePort = 5050

пытаюсь: без порта: 192.168.100.21:C:\IntegracaoRH\CONSISANET2_5.FDB и с: 192.168.100.21:5050:C:\IntegracaoRH\CONSISANET2_5.FDB и той же ошибкой.

Как сделать удаленное соединение ODB C?

1 Ответ

1 голос
/ 13 февраля 2020

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

Кому используйте правильный порт, вам нужно явно указать порт в строке подключения, используя формат <host>/<port>:<db-path-or-alias>.

Другими словами, что-то вроде:

192.168.100.21/5050:database-alias

Где database-alias должен быть псевдоним или путь к вашей базе данных.

Имейте в виду, Firebird на Windows поддерживает URL-адреса вида \\<host>\<db-path-or-alias> с использованием протокола WNET. Однако я предполагаю, что вы перешли к UN C -path \\192.168.100.21\IntegracaoRH\CONSISANET2_5.FDB. Между UN C -path и Firebird WNET -url нет соответствия 1: 1: они выглядят одинаково, но это не одно и то же. Кнопка «Обзор» в конфигурации ODB C должна использоваться только для выбора баз данных, локальных для вашего компьютера.

В качестве альтернативы, возможность поиска по UN C -path \\192.168.100.21\IntegracaoRH\CONSISANET2_5.FDB предлагает что ваша база данных находится в папке общего доступа к сети. Вы не должны делиться базами данных по сети через файлообменник. Это небезопасно, поскольку любой, у кого есть доступ, может создать копию базы данных и получить к ней полный доступ, или даже заменить или иным образом повредить базу данных. Доступ к базе данных всегда должен осуществляться через сервер Firebird на том же хосте, что и файл базы данных.

...