@Mercury13
Программист на «си с крестами» и не только

Необычные драйверы ODBC + SQLDriverConnect: какие у вас разглючки?

Задача: интерактивно построить строку соединения ODBC. Из-за крайне путаного стандартного диалога выбора драйвера я выбираю драйвер своими силами, а затем запускаю SQLDriverConnect с непустой строкой.
retcode = SQLDriverConnect( // SQL_NULL_HDBC
                hdbc,
                reinterpret_cast<HWND>(aWinId),
                const_cast<wchar_t*>(drv.data()),   // "DRIVER={Driver name}"
                drv.length(),
                OutConnStr,
                4096,
                &OutConnStrLen,
                SQL_DRIVER_COMPLETE );


Как всегда, находятся драйверы, от которых хочется взять и удавиться. У меня пока две разглючки.
1. Если драйвер не вернул ничего и через PostMessage выяснилось, что до интерактивного диалога дело не дошло, выводить: «Драйвер не умеет интерактивно строить строку соединения».
2. Если мы сидим в SQLDriverConnect и одновременно делаем что-то в диалоге выбора драйвера — выводить «Драйвер „Driver name“ работает, переключитесь в него через Alt+Tab и закройте диалог».

Первое встречалось в MYOB и частично в MySQL 3.x — первый вообще не имеет интерактивного диалога, второй по Cancel возвращает ошибку. Второе — в MySQL 3.x.

Причём поддержка SQLDriverConnect относится к уровню Core, т.е. должна поддерживаться драйвером безусловно.

Что ещё делать с этими странными драйверами?
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы