AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.01.2007, 12:13   #1  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
2AndyD:
Фактически проблема, из-за которой начал ковыряться - нужно консультантам на время разработки дать возможность перезапуска AOS, но давать админа не хочется... Я так понял, как раз Ваша первая версия позволяла это делать
Самому не заходя на сервер перезапустить или данные автоматом подгрузить - тоже удобно, но сейчас для меня - вторично.
Старый 12.01.2007, 16:11   #2  
iggl2 is offline
iggl2
Участник
 
86 / 15 (1) ++
Регистрация: 21.02.2004
Цитата:
Сообщение от george040875 Посмотреть сообщение
2AndyD:
Фактически проблема, из-за которой начал ковыряться - нужно консультантам на время разработки дать возможность перезапуска AOS, но давать админа не хочется...
Решается настройками аоса... shut down after being idle..+ ondemand
__________________
Да, цирк уехал
Старый 12.01.2007, 16:26   #3  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
Цитата:
Сообщение от iggl2 Посмотреть сообщение
Решается настройками аоса... shut down after being idle..+ ondemand
нету idle то и оно, что нужно предупредить наших разработчиков и тестировщиков и завершить работу - внедрение идет как никак
Старый 12.01.2007, 17:24   #4  
iggl2 is offline
iggl2
Участник
 
86 / 15 (1) ++
Регистрация: 21.02.2004
Цитата:
Сообщение от george040875 Посмотреть сообщение
нету idle то и оно, что нужно предупредить наших разработчиков и тестировщиков и завершить работу - внедрение идет как никак
сколько штук?)))
__________________
Да, цирк уехал
Старый 12.01.2007, 14:19   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
В сообщении выше обновил вложение

Добавлен метод AosStatus_RunDll - вызывается так же, как и два других метода

rundll32 AosMgr.dll,AosStatus_RunDll Axapta "Aaa 1" 1

После имени вызываемой функции указывается имя хоста или IP адрес.
Второй параметр - имя AOS. Если в имени есть пробелы, то заключить в двойные кавачки.
Третий параметр - показывать (1)/не показывать (0 или не указывать параметр) сообщение в случае ошибки

В методы, вызываемые из RunDll добавлено возвращение кода возврата (можно обрабатывать через errorlevel). Во вложении есть пример обработки возвращаемого статуса в файле start.cmd (для всех методов обработка одинаковая)

По поводу прав пользователей - ограничение на права для запуска и остановки AOS в текущей и последующих (если будут) версиях убираться не будет.
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: gl00mie (3).
Старый 12.01.2007, 15:25   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от AndyD Посмотреть сообщение
Добавлен метод AosStatus_RunDll - вызывается так же, как и два других метода. В методы, вызываемые из RunDll добавлено возвращение кода возврата.
Здорово, как раз хотел написать на эту тему Только, наверно, стоило оставить в архиве проект с примером вызова функций библиотеки из приложения Axapta...
Старый 12.01.2007, 14:42   #7  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
Спасибо. А что убираться не будет - я это и сам понимаю, что дырка большая. Так - поделился печалью.
Старый 12.01.2007, 15:31   #8  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
У е.
Я и забыл, что он был там. Сейчас выложу
__________________
Axapta v.3.0 sp5 kr2
Старый 12.01.2007, 18:38   #9  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
Дело в автоматизации и распределенности. как же мы сейчас работаем, если договориться не можем? просто это автоматизированная договоренность.
Старый 03.04.2007, 13:46   #10  
falcon65 is offline
falcon65
Участник
 
5 / 10 (1) +
Регистрация: 21.09.2005
BuilderC++ ругается при компиляции на параметы в функциях aosmgr.dll. Как правильно подключить эту библиотеку к проекту. Есть ли подробное описание функций бибилиотеки?
Старый 03.04.2007, 15:36   #11  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Для Builder'а не знаю, но для VisualC можно так
Файл "aosmgr.h"
X++:
#ifndef _AOSMGR_H_
#define _AOSMGR_H_

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#include <windef.h>

typedef UINT (CALLBACK * LPFNDLLAOSSTATUS)(char* Host, char* AOSname);
typedef UINT (CALLBACK * LPFNDLLAOSSTART)(char* Host, char* AOSname);
typedef UINT (CALLBACK * LPFNDLLAOSSTOP)(char* Host, char* AOSname);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
файл "AxAosMgr.cpp" - пример консольного приложения, выводящего информацию о статусе AOS. Использование функций старта/остановки AOS аналогично
X++:
// AxAosMgr.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <windef.h>
#include <winbase.h>
#include <winuser.h>
#include <malloc.h>
#include "aosmgr.h"

char * GetStatusStr(int _status)
{
   switch (_status)
   {
		case 1:
			return "AOS остановлен";
		case 2:
			return "AOS запускается";
		case 3:
			return "AOS останавливается";
		case 4:
			return "AOS запущен";
        case -1:
            return "Connection timed out";
        case -2:
            return "Connection refused";
        case -3:
            return "Protocol error";
        case -4:
            return "Server manager not started";
        case -5:
            return "AOS stopped";
        case -6:
            return "AOS start pending";
        case -7:
            return "AOS stop pending";
        case -8:
            return "AOS running";
        case -9:
            return "AOS not found on server";
        case -10:
            return "Cannot assign requested address";
        case -11:
            return "Unknown TCP error";
        case -12:
            return "AOS unknown status";
        case -13:
            return "Access denied";
        case -14:
            return "Service error";
        case -15:
            return "Invalid Axapta Service Name";
        case -16:
            return "Service Does Not Exist";
        case -17:
            return "Service Not Started";
        case -18:
            return "Server Unavailable";
        default:
            return "Unknown status";
   }
}

int _tmain(int argc, _TCHAR* argv[])
{
	HINSTANCE hDLL;               
	LPFNDLLAOSSTATUS	AOSStatus;    
	LPFNDLLAOSSTART		AOSStart;    
	LPFNDLLAOSSTOP		AOSStop;   
	char*				msg;

	hDLL = LoadLibrary("AosMgr.dll");

	if (hDLL != NULL)
	{
	   AOSStatus = (LPFNDLLAOSSTATUS)GetProcAddress(hDLL, "AosStatus");
	   if (!AOSStatus)
	   {
		  FreeLibrary(hDLL);       
		  return -1;
	   }
/*	   AOSStart = (LPFNDLLAOSSTART)GetProcAddress(hDLL, "AosStart");
	   AOSStop = (LPFNDLLAOSSTOP)GetProcAddress(hDLL, "AosStop");*/

	   msg = GetStatusStr(AOSStatus("Axapta", "Axapta"));
	   if (msg)
	   {
			char * buf = (char*) malloc(strlen(msg)+1);
			strcpy(buf, msg);
			CharToOem(buf, buf);
			printf("%s\n", buf);
			free(buf);
	   }
	}
	return 0;
}
__________________
Axapta v.3.0 sp5 kr2
Старый 03.04.2007, 16:53   #12  
falcon65 is offline
falcon65
Участник
 
5 / 10 (1) +
Регистрация: 21.09.2005
Большое спасибо, AndyD!!!!!
Старый 04.09.2007, 11:18   #13  
patron is offline
patron
Участник
 
19 / 12 (1) ++
Регистрация: 29.03.2007
Уважаемый AndyD возникла необходимость воспользоваться вашей утилитой. При запуске из командной строки:
rundll32 AosMgr.dll,AosStart_RunDll serverName aosName

происходит сбой аоса, после которого он не запускается даже через Service Manadger
лог ошибки:
Ошибка1:
"Описание:
Object Server Dev: Fatal SQL condition during login. Error message: "Внутренний системный номер версии таблицы, хранящейся в базе данных, больше, чем версия, поддерживаемая ядром (33/31). Используйте более новое ядро Microsoft Business Solutions-Axapta, или запустите Microsoft Axapta используя параметр -REPAIR командной строки, чтобы провести синхронизацию."
"
Ошибка2
"Object Server Dev: Axapta Server received an invalid socket"

У нас Axapta 3.0 CIS SP3 build 9.2
Буду признателен за ответ
Старый 04.09.2007, 14:23   #14  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
А кто у вас на сервере слушает порт TCP 2712?
Service Manager - это имеется в виду Server Manager?

Схема работы dll-ки такая.
По порту TCP 2712 идет обращение к Server Manager (Ax32mgr.exe). А уже Server Manager при необходимости загружает нужный инстанс AOS (ax32serv.exe)
Для проверки, попробуйте запустить утилиту axctrl.exe (утилита для настройки AOS) с удаленной машины и поуправлять сервером
__________________
Axapta v.3.0 sp5 kr2
Старый 04.09.2007, 15:01   #15  
patron is offline
patron
Участник
 
19 / 12 (1) ++
Регистрация: 29.03.2007
Цитата:
Service Manager - это имеется в виду Server Manager?
Да, это я попутал


Цитата:
Схема работы dll-ки такая.
По порту TCP 2712 идет обращение к Server Manager (Ax32mgr.exe). А уже Server Manager при необходимости загружает нужный инстанс AOS (ax32serv.exe)
Для проверки, попробуйте запустить утилиту axctrl.exe (утилита для настройки AOS) с удаленной машины и поуправлять сервером
Спасибо за совет, щас попробую.
Старый 16.11.2007, 17:54   #16  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
1. Сомневаюсь, что бы в открытом доступе была подобная информация.
2. Эту операцию необходимо выполнять программно?
__________________
Axapta v.3.0 sp5 kr2
Старый 20.11.2007, 12:09   #17  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Извините, что не смог ответить сразу.
Цитата:
Сообщение от AndyD Посмотреть сообщение
1. Сомневаюсь, что бы в открытом доступе была подобная информация.
Спасибо.
Цитата:
Сообщение от AndyD Посмотреть сообщение
2. Эту операцию необходимо выполнять программно?
Да... желательно. Иногда возникает необходимость остановить все АОСы (три штуки на разных серверах) и выставить им режимом запуска = "manual" для предотвращения автоматического запуска. И, соответственно, после выполненных работ, необходимо их запустить и выставить им режимом запуска = "on demand". Если есть возможность програмно управлять режимом запуска АОСа, то данную процедуру можно автоматизировать.
Старый 20.11.2007, 14:05   #18  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от vallys Посмотреть сообщение
Иногда возникает необходимость остановить все АОСы (три штуки на разных серверах) и выставить им режимом запуска = "manual" для предотвращения автоматического запуска. И, соответственно, после выполненных работ, необходимо их запустить и выставить им режимом запуска = "on demand". Если есть возможность програмно управлять режимом запуска АОСа, то данную процедуру можно автоматизировать.
Ну вот, сказали бы сразу, какая стоит задача, было б намного проще... Иными словами, необходимо остановить AOS'ы с типом запуска OnDemand на определенное время - так, чтобы они в это время по любому не запускались. Но ведь добиться этого можно и другими способами, кроме запудривания мозгов Axapta Object Manager'у. Главное условие: чтобы на тех же серверах не было других AOS'ов, которые должны на это время оставаться доступными. Так вот, почему бы просто не останавливать на указанное время сервис Axapta Object Manager? Тогда AOS'ы точно не запустятся, пока вы не перезапустите этот сервис, - и не надо будет менять параметры их запуска.
За это сообщение автора поблагодарили: vallys (2).
Старый 20.11.2007, 15:28   #19  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Ну вот, сказали бы сразу, какая стоит задача, было б намного проще... Иными словами, необходимо остановить AOS'ы с типом запуска OnDemand на определенное время - так, чтобы они в это время по любому не запускались
Да, именно так. Сожалею, что не описал раньше.
Цитата:
Сообщение от gl00mie Посмотреть сообщение
...Главное условие: чтобы на тех же серверах не было других AOS'ов, которые должны на это время оставаться доступными...
На одном как раз есть. Для тестового и др. временных АОСов отдельный сервер не выделен. Так что вопрос остается открытым. Но за предложение спасибо, на текущий момент два АОСа из трех действительно можно так остановить. Кстати, будет ли выдано предупреждение пользователям, что АОС останавливается, если остановить сервис Axapta Object Manager?
Старый 20.11.2007, 16:16   #20  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Цитата:
Сообщение от vallys Посмотреть сообщение
...Кстати, будет ли выдано предупреждение пользователям, что АОС останавливается, если остановить сервис Axapta Object Manager?
Не будет.
Вопрос открыт.
Теги
aos, ax3.0, download, faq, администрирование, законченный пример

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
daxis: Troubleshooting blocked SPIDS in AOS Blog bot DAX Blogs 0 01.04.2009 18:05
Arijit Basu: AX 4 AOS Basics: [Level 100] Blog bot DAX Blogs 0 18.11.2007 14:30
DynamicsTech: What's New in Dynamics Ax 4.0 AOS? Blog bot DAX Blogs 0 12.04.2007 11:50
axaptapedia: Control AOS from command line Blog bot DAX Blogs 0 09.03.2007 14:50
Топология AOS'ов Sequel DAX: Администрирование 9 03.05.2006 18:37

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:42.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.