Показать сообщение отдельно
Старый 24.02.2012, 06:41   #1  
CHESER85 is offline
CHESER85
Участник
 
93 / 11 (1) +
Регистрация: 04.08.2011
Адрес: Ufa
Записей в блоге: 1
как узнать код ошибки при подключении к базе?
Подключаюсь к базе 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. Но вот сегодня я выяснил что иногда сервер, где лежит база, может быть выключен либо недоступен. В этом случае все равно выдается предложение установить драйвер. Вопрос - как выяснить нужный мне код ошибки и внедрить проверку именно на данный код ошибки? Заранее спасибо!