IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
aes
- Сообщения: 43
- Зарегистрирован: 05 фев 2007, 07:29
Сообщение
aes » 10 авг 2010, 15:53
Доброго времени суток.
Имеется клиент-серверное приложение, работает под winXP. SQL-сервер - Firebird 2.5.
Ярлык на exe файл помещен в автозагрузку
Код: Выделить всё
c:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\
При загрузке Windows приложение стартует и тут же ругается "Unable to complete network request to host 127.0.0.1". Клиент запускается на локальной машине, строка коннекта "127.0.0.1:C:\path\mybase.fdb". Настройки для получения строки коннекта берутся при запуске ПО из
Код: Выделить всё
c:\Documents and Settings\myuser\Application Data\myProgramm
Получение настроек и запуск коннекта к базе вызывается в OnShow формы.
Иногда приложение таки запускается, но чаще ругается, как описано выше.
Подскажите, как обойти?
Спасибо.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 10 авг 2010, 21:34
При загрузке Windows приложение стартует и тут же ругается "Unable to complete network request to host 127.0.0.1"
значит Firebird в этот момент (или вообще) не запущен.
Подскажите, как обойти?
для однопользовательских приложений не надо себе морочить голову сервером. Используйте embedded, не надо будет запускать никакие сервера.
-
aes
- Сообщения: 43
- Зарегистрирован: 05 фев 2007, 07:29
Сообщение
aes » 11 авг 2010, 07:25
Используйте embedded, не надо будет запускать никакие сервера.
Приложение многопользовательское, просто основное тестирование в данный момент проходит на локальной машине (особенности работы заказчика).
значит Firebird в этот момент (или вообще) не запущен.
Выходит, способ только один: пауза при запуске, периодическая проверка сервиса ФБ в течение например 30 сек, и корректное завершение приложения, если сервис не стартует?
Еще один момент. Иногда сообщение об ошибке бывает такое: "Unsuccessful execution caused by unavailable resource. Unavailable database".
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 11 авг 2010, 09:59
просто основное тестирование в данный момент проходит на локальной машине (особенности работы заказчика).
тестирование чего? если эта машина работает как СЕРВЕР, то как бы, и заказчику, и ежу должно быть понятно, что сервер должен быть запущен РАНЬШЕ чем клиентские компьютеры.
Вы же комбинируете сервер и клиентский компьютер, втыкая приложение в автозапуск.
пауза при запуске, периодическая проверка сервиса ФБ в течение например 30 сек, и корректное завершение приложения, если сервис не стартует?
А что будет, если "серверный" компьютер у заказчика будет сам по себе грузиться дольше чем клиентские, даже если их одновременно включили?
Иногда сообщение об ошибке бывает такое: "Unsuccessful execution caused by unavailable resource. Unavailable database".
прямо-таки иногда?
www.ibase.ru/ibfaq.htm#unavail
-
aes
- Сообщения: 43
- Зарегистрирован: 05 фев 2007, 07:29
Сообщение
aes » 11 авг 2010, 11:34
Вобщем, дабы мы чуть лучше поняли друг друга, обрисую ситуацию подробнее.
Нормальный режим работы создаваемой системы:
есть сервер, на нем крутится fb, имеется всевозможное резервирование по питанию, по сохранности данных, включен всегда;
есть клиентское ПО, которое может запускаться либо на сервере, либо на других машинах в сети, причем запускаться должно в автоматическом режиме (пока речи о службах не идет).
В настоящий момент тестируется автоматический запуск клиентского ПО, установленного на сервер.
Для этого установлен fb2.5 super как служба, в автозагрузку скопирован ярлык, запускающий клиента.
После нескольких перезагрузок картина следующая:
очень редко ПО запускается нормально, часто выпадает сообщение "Unable to complete network request", и чуть реже "Unavailable database".
При обычном запуске клиентского ПО все ок, никаких ошибок.
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Сообщение
hvlad » 11 авг 2010, 12:21
На сервере небось автологон настроен ?
-
aes
- Сообщения: 43
- Зарегистрирован: 05 фев 2007, 07:29
Сообщение
aes » 11 авг 2010, 12:28
Да, есть такое.
Проверял на виртуалке (virtual PC), без автологона - картина та же.
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Сообщение
hvlad » 11 авг 2010, 12:37
Коннект к БД через TCP ?
Вставьте в автозагрузку ping -t localhost - что получится ?
-
aes
- Сообщения: 43
- Зарегистрирован: 05 фев 2007, 07:29
Сообщение
aes » 11 авг 2010, 14:23
Коннект к БД через TCP ?
Да, по TCP.
Вставьте в автозагрузку ping -t localhost - что получится ?
При старте windows открывается консоль и идет пинг, все ок.
STFW ""Always wait for network at computer startup and logon".
Сделал.
Пока полет нормальный.
-
aes
- Сообщения: 43
- Зарегистрирован: 05 фев 2007, 07:29
Сообщение
aes » 12 авг 2010, 10:09
Проблема не решилась.
Только сейчас выпадает лишь "Unable to complete network request", очень редко.
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Сообщение
hvlad » 12 авг 2010, 10:37
Ну так источник проблемы стал хотя бы понятен ?
-
aes
- Сообщения: 43
- Зарегистрирован: 05 фев 2007, 07:29
Сообщение
aes » 12 авг 2010, 10:57
Похоже, что приложение успевает стартовать раньше, чем служба fb.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 12 авг 2010, 12:06
"похоже"? OMG
-
aes
- Сообщения: 43
- Зарегистрирован: 05 фев 2007, 07:29
Сообщение
aes » 12 авг 2010, 12:44
Вот вам смешно, а где-то люди мучаются
Я вот каюсь, не знал, о такой особенности WinXP и fb (а может и не только WinXP, не проверял).
Впрочем, решение уже было озвучено, и тему можно закрыть.
Спасибо за помощь.
-
Dimitry Sibiryakov
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Сообщение
Dimitry Sibiryakov » 12 авг 2010, 14:55
А вот сделали бы сразу своё приложение сервисом, тогда можно было бы поставить ему зависимость от сервера БД и забыть о проблемах с очерёдностью запуска навсегда...
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 13 авг 2010, 01:01
Я вот каюсь, не знал, о такой особенности WinXP и fb (а может и не только WinXP, не проверял).
о чем тут не знать, извините? что два приложения физически не могут запуститься в один момент, и если одно общается с другим, то до момента когда они оба будут работать, общения не будет? Вы, наверное, думали что тут какие-то невероятные сложности, но ведь это элементарно просто - пока один компьютер выключен, другой компьютер его в сети видеть не будет, ведь так? Пока я не пришел к Вам, мы с Вами не сможем поговорить очно. И так далее, не думаю, что нужно дальше приводить столь простые примеры.
В общем, не ищите сложное в простом