Распространение приложения

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
Anark1
Сообщения: 26
Зарегистрирован: 28 июн 2007, 00:52

Распространение приложения

Сообщение Anark1 » 15 дек 2007, 22:26

InterBase 7.1
InterBase Xpress
На машине-сервере находится сама БД.
На клиент, помимо исполняемого файла и прочих библиотек, не относящихся к IB, переносится gds32.dll, msvcrt.dll, interbase.msg.
Когда клиент пытается соединиться то выскакивает ошибка
failed to locate host machine
при этом машина-сервер пингуется. Подскажите в чем проблема.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: Распространение приложения

Сообщение stix-s » 17 дек 2007, 07:34

Anark1 писал(а):InterBase 7.1
InterBase Xpress
На машине-сервере находится сама БД.
На клиент, помимо исполняемого файла и прочих библиотек, не относящихся к IB, переносится gds32.dll, msvcrt.dll, interbase.msg.
Когда клиент пытается соединиться то выскакивает ошибка
failed to locate host machine
при этом машина-сервер пингуется. Подскажите в чем проблема.
в настройке соединения, как минимум

Anark1
Сообщения: 26
Зарегистрирован: 28 июн 2007, 00:52

Сообщение Anark1 » 17 дек 2007, 10:06

Настройки вроде бы введены верно. Можно поконкретнее ?

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 17 дек 2007, 10:17

Anark1 писал(а):Настройки вроде бы введены верно. Можно поконкретнее ?
Вроде бы?
Конкретнее сообщения сервера об ошибке уже некуда

Anark1
Сообщения: 26
Зарегистрирован: 28 июн 2007, 00:52

Сообщение Anark1 » 17 дек 2007, 10:36

IBDatabase1->Params->Text = "user_name=ESTAB\r\npassword=estab_pw\r\nsql_role_name=LOW\r\ncl_type=WIN1251\r\n"
IBDatabase1->DatabaseName = "89.19.nnn.mmm:D:\\SD\\DB_f\\SD.IB"

Сообщение об ошибке уже привел.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 дек 2007, 11:12

89.19.nnn.mmm
сервер в инете чтоль? значит порт закрыт. про Firewall слышал?

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 17 дек 2007, 11:16

Anark1 писал(а):IBDatabase1->Params->Text = "user_name=ESTAB\r\npassword=estab_pw\r\nsql_role_name=LOW\r\ncl_type=WIN1251\r\n"
IBDatabase1->DatabaseName = "89.19.166.237:D:\\SD\\DB_f\\SD.IB"

Сообщение об ошибке уже привел.
Привел, но не перевел :)
Я не сяшник и если двойные слэши и всякие "\n\r"- так и надо, то фиг с ними
а вообще, например, две причины навскидку:
сервер IB не запущен
нужный(е) ему порт(ы) (что там у тебя в конфиге?) закрыт

Anark1
Сообщения: 26
Зарегистрирован: 28 июн 2007, 00:52

Сообщение Anark1 » 17 дек 2007, 12:01

kdv, слышал, даже есть. 3050 открыт.

stix-s, двойной слэш появляется после обработки пути (с одним слэшем) средствами приложения, ну то есть IB Xpress.
\r\n - символ новой строки, появляется когда параметры заполняются командой Append.
Сервер запущен, проверил только что.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 17 дек 2007, 12:33

Anark1 писал(а):kdv, слышал, даже есть. 3050 открыт.
Telnet'ом подсоединись по этому порту. Получается?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 17 дек 2007, 15:10

Вообще-то еще не факт, что IB7.1 вообще умеет принимать IP-адрес в качестве адреса сервера.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 дек 2007, 15:44

что IB7.1 вообще умеет принимать IP-адрес в качестве адреса сервера
умеет. все равно этот ip по любому и раньше шел через getHostByName, и это была задача операционки - определить, это имя или ip. обычно винды с этим справляются.

Anark1
Сообщения: 26
Зарегистрирован: 28 июн 2007, 00:52

Сообщение Anark1 » 18 дек 2007, 17:15

К счастью, есть время, чтобы попытаться все сделать.
Так вот.
На фаерволе
ALLOW and LOG TCP or UDP IN or OUT FROM IP [Any] TO IP [Any]
WHERE SOURCE PORT IS 3050 AND DESTINATION PORT IS ANY
Еще на клиенте в
C:\WINDOWS\system32\drivers\etc\services
добавил строку
gds_db 3050/tcp #InterBase
Уже не знаю в чем дело.
EIBInterBaseError : Unable to complete network request to host 89.19.nnn.mmm. Failed to establish connection. Unknown win32 error 10060.
Вот такое сообщение об ошибке.
Причем Telnet не может соединиться с этим портом. И плюс ко всему сканируются только порты 25 и 21. Даже при выключенном фаерволе.
Не знаю что делать :|

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 18 дек 2007, 18:47

10060 - банально клиент до сервера достучаться не может.
собственно, IB/FB тут ни при чем, здесь дело в настройке сети.

Anark1
Сообщения: 26
Зарегистрирован: 28 июн 2007, 00:52

Сообщение Anark1 » 18 дек 2007, 19:00

kdv, с точки зрения IB всего вышеуказанного мною должно хватить на нормальное соединение ? С работоспособной сетью.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 18 дек 2007, 20:03

у IB/FB нет никаких специфических требований к сети. Соответственно, если сеть нормально работает, то IB/FB должен работать.
Конечно, есть всякие гадости, препятствующие нормальной работе IB/FB, типа антивирусов NOD32, Symantec и т.п., но все это конфигурируется, т.е. в настройках антивирусов и firewall это регулируется.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 19 дек 2007, 08:04

Anark1 писал(а):ALLOW and LOG TCP or UDP IN or OUT FROM IP [Any] TO IP [Any]
WHERE SOURCE PORT IS 3050 AND DESTINATION PORT IS ANY
Я не спец в файерволлах, но SOURCE PORT 3050 мне кажется подозрительным. Все-таки коннектятся к порту 3050, а не с него.

Anark1
Сообщения: 26
Зарегистрирован: 28 июн 2007, 00:52

Сообщение Anark1 » 20 дек 2007, 10:44

Пробовал и так, и так. Все то же самое. А когда отключил всю защиту, то получил ошибку : "конечный компьютер отверг запрос на подключение". Буду налаживать сеть.
Спасибо, всем кто отписался.

Ответить