powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Message Agent как сервис?
8 сообщений из 8, страница 1 из 1
Message Agent как сервис?
    #32895332
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Начинаем настраивать репликацию по FTP между базами ASA9.
Если запустить dbremote просто как программу, то все отробатывает.
Но на удаленной машине необходимо запускать 'Агента' как сервис.
И возникает такая ситуация: при запуске системы сначало стартует Message Agent с параметрами:
Код: plaintext
1.
 -c "DBN=***; uid=***; pwd=*** -sd  60  -rd  60  -o c:\Remote.log
Говорит, что не могу соедининится с базой (правильно: ведь она еще не запустилась) и остается висеть, ни чего не делая.
Если же запускать с параметром:
Код: plaintext
1.
 -c "DBF=путь к базе; uid=***; pwd=*** -sd  60  -rd  60  -o c:\Remote.log
то он нормально сканирует log файл, отправляет сообщения. Но после этого как сервис запускается сама база и начинает ругаться, что ресурсы заняты(возможно файл занят в другом процессе), и не стартует.
Подскажите, что я делаю не так и как это побороть?
Один из вариантов - запускать dbremote шудулером?
...
Рейтинг: 0 / 0
Message Agent как сервис?
    #32895443
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimS
Говорит, что не могу соедининится с базой (правильно: ведь она еще не запустилась) и остается висеть, ни чего не делая.

А что, база там запускается не как сервис? В чем тогда смысл запускать агента сервисом?

VadimS
Если же запускать с параметром:
Код: plaintext
1.
 -c "DBF=путь к базе; uid=***; pwd=*** -sd  60  -rd  60  -o c:\Remote.log
то он нормально сканирует log файл, отправляет сообщения.

В таком варианте автоматически стартует база как приложение с помощью dbeng9 (десктопный вариант).
VadimS
Но после этого как сервис запускается сама база и начинает ругаться,
что ресурсы заняты(возможно файл занят в другом процессе), и не стартует.
Подскажите, что я делаю не так и как это побороть?

Не запускать dbremote при незапущенной базе.
Смотреть в сторону зависимостей служб.
...
Рейтинг: 0 / 0
Message Agent как сервис?
    #32895483
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimSНо на удаленной машине необходимо запускать 'Агента' как сервис.
И возникает такая ситуация: при запуске системы сначало стартует Message Agent с параметрами:
Код: plaintext
1.
 -c "DBN=***; uid=***; pwd=*** -sd  60  -rd  60  -o c:\Remote.log
Говорит, что не могу соедининится с базой (правильно: ведь она еще не запустилась) и остается висеть, ни чего не делая.
Какой смысл запускать dbremote как сервис, если база не работает тоже как сервис?
Если так уж хочется повесить dbremote в память при старте виндов, то почему бы не стартовать и базу данных? Пусть висит себе в памяти.

Кстати, я не совсем понял, почему ты указываешь DBN без ENG? Если сервер находится на том же компьютере что и клиент, то в принципе ни DBN ни ENG можно не указывать... В общем, я к тому что DBN в одиночестве используется очень редко.

VadimS
Если же запускать с параметром:
Код: plaintext
1.
 -c "DBF=путь к базе; uid=***; pwd=*** -sd  60  -rd  60  -o c:\Remote.log
то он нормально сканирует log файл, отправляет сообщения. Но после этого как сервис запускается сама база и начинает ругаться, что ресурсы заняты(возможно файл занят в другом процессе), и не стартует.
Не возможно, а точно. Задание DBF принудительно стартует сервер и загружает в нее базу данных из указаного файла. Параметр имеет смысл только в монопольной работе.

VadimSПодскажите, что я делаю не так и как это побороть?
Один из вариантов - запускать dbremote шудулером?
Самый правильный вариант.

Если хочешь чтобы сервер запускался и выключался автоматически вместе с клиентской программой, то пропиши ODBC DSN, с определенным DBF параметром и ключиком "autostop". В клиенте делай коннект к базе через этот DSN. И dbremote стартуй тоже через этот же DSN. Тогда ODBC займется автоматическим "включением/выключением" параметра DBF. И тебе не прийдется о нем думать.

Тебе надо почитать BOL на предмет ключей ENG, DBN и DBF. Что за что отвечает и в каких режимах сервер может работать.
...
Рейтинг: 0 / 0
Message Agent как сервис?
    #32896383
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На удаленной машине база запускается тоже как сервис. Но получается что агент запускается первым. Значит нужно смотреть в сторону зависимостей служб?
...
Рейтинг: 0 / 0
Message Agent как сервис?
    #32897351
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbremote может останавливаться по многим причинам.
Поэтому без чего-то похожего на cron не обойтись.
Выявлено практикой :(

...
Рейтинг: 0 / 0
Message Agent как сервис?
    #32897981
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimSНа удаленной машине база запускается тоже как сервис. Но получается что агент запускается первым. Значит нужно смотреть в сторону зависимостей служб?
ээээ... у тебя dbremote и сервер на разных машинах? Не, это конечно можно и будет работать, но не совсем понятно :)

В первую очередь, тебе сейчас надо запомнить одну аксиому: dbremote это клиент к базе данных, и на момент его старта база данных должна быть доступна.
Как ты это организуешь это уже другой вопрос, но при любом режиме работы dbremote, сервер должен быть доступен на момент старта программы.
...
Рейтинг: 0 / 0
Message Agent как сервис?
    #32898032
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimSДобрый день.
Начинаем настраивать репликацию по FTP между базами ASA9.
Если запустить dbremote просто как программу, то все отробатывает.
Но на удаленной машине необходимо запускать 'Агента' как сервис.
И возникает такая ситуация: при запуске системы сначало стартует Message Agent с параметрами:
Код: plaintext
1.
 -c "DBN=***; uid=***; pwd=*** -sd  60  -rd  60  -o c:\Remote.log
Говорит, что не могу соедининится с базой (правильно: ведь она еще не запустилась) и остается висеть, ни чего не делая.
Если же запускать с параметром:
Код: plaintext
1.
 -c "DBF=путь к базе; uid=***; pwd=*** -sd  60  -rd  60  -o c:\Remote.log
то он нормально сканирует log файл, отправляет сообщения. Но после этого как сервис запускается сама база и начинает ругаться, что ресурсы заняты(возможно файл занят в другом процессе), и не стартует.
Подскажите, что я делаю не так и как это побороть?
Один из вариантов - запускать dbremote шудулером?
Зачем такие сложности, любой нормальный sysadmin связанный с NT подскажет вам как выйти из этой ситуации , выходов может быть несколько
1.для этого ручками надо прописать старт вашего dbremote после старта сервера SQL, в реестре прописывается значение DependOnService, посмотрите как стартует сервис Computer Browser и сделайте аналогично ему
2. Не надо забывать, что в самом ASA есть событие start database, кажется так, к которому можно прикрутить процедуру запуска dbremote, а как вы его запустите ваше дело можно и как сервис, можно и как приложение.
...
Рейтинг: 0 / 0
Message Agent как сервис?
    #32898615
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем. Вопрос решился.
Вчера дозвонился до нашего админа сети (он в отпуске). Действительно, порядок сервисов решается элементарно установкой зависимоcти на закладке Dependecies.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Message Agent как сервис?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]