2013-11-26 3 views
0

В моем коде на C++ я пытаюсь выяснить, с каким драйвером dsn подключается мой SQLDriverConnect, чтобы получить строку соединения. К сожалению, строка подключения указывает только описание драйвера, а не тот драйвер, который используется. Нужно ли вообще определять, какой драйвер используется?Как узнать, какой драйвер dsn используется?

ответ

0

Строка подключения, которую вы передаете SQLDriverConnect, должна идентифицировать драйвер для использования каким-либо образом: либо с помощью DRIVER = {xxx}, DSN = yyy, FILEDSN = zzz. Если вы думаете об этом, если строка, переданная в SQLDriverConnect, не идентифицировала драйвер, то как менеджер драйверов ODBC узнает, какой драйвер ODBC загружается. Все, что вам нужно сделать, это посмотреть на строку подключения, переданную в SQLDriverConnect, и выяснить, какие атрибуты передаются. Если это драйвер = xxx, зайдите в администратор ODBC и выберите вкладку драйверов, а затем посмотрите на имя драйвера. Если это DSN = xxx, тогда найдите DSN xxx в своих пользовательских или системных DSN в ODBC Administrator, чтобы найти, какой драйвер они используют.

Наконец, после подключения есть вызовы SQLGetInfo, которые вы можете использовать для извлечения используемого драйвера.

Смежные вопросы