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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.02.2012, 08:41   #1  
ice321i is offline
ice321i
Участник
 
63 / 54 (2) ++++
Регистрация: 22.10.2007
Через сокет попробуй подсоединиться к серверу на тот порт где крутится firebird. Если соединение прошло успешно значит сервер и служба доступны
Примерно так:
X++:
    #Socks
    int                   socket;
    DLL                 dll;
    DLLFunction    func;
    ;

    dll = new DLL('WS2_32.dll');

    func = new DLLFunction(dll,'socket');
    func.arg(ExtTypes::DWord,ExtTypes::DWord,ExtTypes::DWord);
    func.returns(ExtTypes::DWord);

   socket = func.call(#AF_INET,#SOCK_STREAM,#IPPROTO_IP);
Смотри форму tutorial_TicTacToe.
Старый 24.02.2012, 09:36   #2  
CHESER85 is offline
CHESER85
Участник
 
93 / 11 (1) +
Регистрация: 04.08.2011
Адрес: Ufa
Записей в блоге: 1
Цитата:
Сообщение от ice321i Посмотреть сообщение
Через сокет попробуй подсоединиться к серверу на тот порт где крутится firebird. Если соединение прошло успешно значит сервер и служба доступны
Примерно так:
X++:
    #Socks
    int                   socket;
    DLL                 dll;
    DLLFunction    func;
    ;

    dll = new DLL('WS2_32.dll');

    func = new DLLFunction(dll,'socket');
    func.arg(ExtTypes::DWord,ExtTypes::DWord,ExtTypes::DWord);
    func.returns(ExtTypes::DWord);

   socket = func.call(#AF_INET,#SOCK_STREAM,#IPPROTO_IP);
Смотри форму tutorial_TicTacToe.

к сожалению не нашел эту форму т.к. у меня 4.0! а где указывать ай пи адрес сервера и порт?
Старый 24.02.2012, 12:36   #3  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Почему бы не использовать NET ? (Работа FireBird(FDB) в AX 2009)

Зачем все эти извращения с ODBC и DLL на клиенте ? Это прошлый век ИМХО.

Ведь можно установить клиентскую библиотеку подключения к FB (NET) на сервер АОС и обращается к FB только оттуда!

Проверить работоспособность сервера FB можно перехватывая исключения в методе
(что то типа)
X++:
try
{
  connection.Open();
}
catch(Exception::CLRError)
{
  
}
Старый 24.02.2012, 12:39   #4  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Еще можете воспользоваться такой функцией (тоже NET)

Она может "пинговать" сервер по адресу, и выдаст информацию о его доступности по сети

X++:
static server boolean ping(str _serverAddress)
{
    System.Net.NetworkInformation.Ping          pingSender;
    System.Net.NetworkInformation.PingReply     reply;
    ;
    new InteropPermission(InteropKind::ClrInterop).assert();

    pingSender = new System.Net.NetworkInformation.Ping();

    reply = pingSender.Send(_serverAddress, 1000);

    if (reply.get_Status() == System.Net.NetworkInformation.IPStatus::Success)
    {
        return true;
    }

    return false;
}
За это сообщение автора поблагодарили: coolibin (2).
Теги
firebird, ping

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Метод "open" в COM-объекте класса "ADODB.Connection" возвратил код ошибки 0x80004005 (E_FAIL) Poleax DAX: Программирование 14 01.10.2013 14:15
Как программно узнать текущий объект и метод в котором выполняется код? McCoy DAX: Программирование 15 25.02.2011 23:34
Dundas.mailer-код ошибки 0x80020009 donMigel DAX: Прочие вопросы 4 06.10.2010 10:28
Метод "SendMail" в COM-объекте класса "Dundas.mailer" возвратил код ошибки 0x80004005 (E_FAIL), который означает: The RCPT command failed. The specified account does not exist. Андрей К. DAX: Программирование 3 10.07.2009 16:08
Метод 'SendMail' в COM-объекте класса 'Dundas.mailer' возвратил код ошибки 0x80004005 (E_FAIL), который означает: The HELLO command failed. Andrew Akhmetov DAX: Программирование 4 09.04.2008 13:24

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:46.