Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Message Agent как сервис? / 8 сообщений из 8, страница 1 из 1
01.02.2005, 17:22
    #32895332
VadimS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Message Agent как сервис?
Добрый день.
Начинаем настраивать репликацию по 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
01.02.2005, 17:57
    #32895443
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Message Agent как сервис?
VadimS
Говорит, что не могу соедининится с базой (правильно: ведь она еще не запустилась) и остается висеть, ни чего не делая.

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

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

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

Не запускать dbremote при незапущенной базе.
Смотреть в сторону зависимостей служб.
...
Рейтинг: 0 / 0
01.02.2005, 18:08
    #32895483
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Message Agent как сервис?
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
02.02.2005, 10:49
    #32896383
VadimS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Message Agent как сервис?
На удаленной машине база запускается тоже как сервис. Но получается что агент запускается первым. Значит нужно смотреть в сторону зависимостей служб?
...
Рейтинг: 0 / 0
02.02.2005, 15:33
    #32897351
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Message Agent как сервис?
dbremote может останавливаться по многим причинам.
Поэтому без чего-то похожего на cron не обойтись.
Выявлено практикой :(

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

В первую очередь, тебе сейчас надо запомнить одну аксиому: dbremote это клиент к базе данных, и на момент его старта база данных должна быть доступна.
Как ты это организуешь это уже другой вопрос, но при любом режиме работы dbremote, сервер должен быть доступен на момент старта программы.
...
Рейтинг: 0 / 0
02.02.2005, 20:29
    #32898032
Sergey Orlov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Message Agent как сервис?
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
03.02.2005, 11:07
    #32898615
VadimS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Message Agent как сервис?
Спасибо всем. Вопрос решился.
Вчера дозвонился до нашего админа сети (он в отпуске). Действительно, порядок сервисов решается элементарно установкой зависимоcти на закладке Dependecies.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Message Agent как сервис? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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