Подключаюсь к базе FireBird используя приблизительно такой код:
X++:
try
{
// cn.connection().open("...");
cn.connection().open("DRIVER={Firebird/InterBase(r) driver};...");
command.activeConnection(cn);
}
catch (Exception::Error)
{
if (box::yesNo('Для работы данного отчета требуется драйвер ODBC FireBird. Установить его?',DialogButton::Yes) == DialogButton::Yes)
{
WinApi::copyFile(...,false);
if (WinApi::shellExecute(...)
{
retry;
}
else
return false;
} else
return false;
}
Обработка ошибки подразумевает лишь то, что на компьютере пользователя не установлен драйвер FireBird. Но вот сегодня я выяснил что иногда сервер, где лежит база, может быть выключен либо недоступен. В этом случае все равно выдается предложение установить драйвер. Вопрос - как выяснить нужный мне код ошибки и внедрить проверку именно на данный код ошибки? Заранее спасибо!