|
![]() |
#1 |
Участник
|
Через сокет попробуй подсоединиться к серверу на тот порт где крутится 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); |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от 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); к сожалению не нашел эту форму т.к. у меня 4.0! а где указывать ай пи адрес сервера и порт? |
|
![]() |
#3 |
Участник
|
Почему бы не использовать NET ? (Работа FireBird(FDB) в AX 2009)
Зачем все эти извращения с ODBC и DLL на клиенте ? Это прошлый век ИМХО. Ведь можно установить клиентскую библиотеку подключения к FB (NET) на сервер АОС и обращается к FB только оттуда! Проверить работоспособность сервера FB можно перехватывая исключения в методе (что то типа) X++: try { connection.Open(); } catch(Exception::CLRError) { } |
|
![]() |
#4 |
Участник
|
Еще можете воспользоваться такой функцией (тоже 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 |
|
|