Почему я получаю «Имя источника данных не найдено и драйвер по умолчанию не указан» и как мне это исправить? - PullRequest
3 голосов
/ 26 октября 2019

При попытке создать в Windows программу, которая подключается к базе данных через ODBC, я получил следующую ошибку:

[Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено и по умолчанию нетуказан драйвер.

Я уверен, что мой код правильный. Он даже работал на другом ПК.

Почему я получаю эту ошибку? И как мне это исправить?

1 Ответ

4 голосов
/ 26 октября 2019

Что вызывает эту ошибку?

Сообщение об ошибке говорит вам, проще говоря, что диспетчер драйверов ODBC не смог найти драйвер, указанный в строке подключения или DSN.

Это можетЕсть 3 общих причины:

  1. Драйвер, который вы пытались использовать, не установлен в вашей системе
  2. Драйвер установлен, однако он не соответствует битности кода, который вы '
  3. Вы допустили ошибку при вводе имени драйвера

Как проверить, какие драйверы установлены в моей системе?

Вы можете проверить, какие драйверыустановлены в вашей системе, обратившись к администратору источника данных ODBC. Чтобы открыть его, нажмите ⊞ Win + R и введите: odbcad32.exe. Затем проверьте вкладку Драйверы для установленных драйверов. В столбце Имя указано точное имя, которое следует использовать в строке подключения или DSN.

Если вы используете 64-разрядную версию Windows, в ней перечислены только 64-разрядные драйверы, установленные на вашем компьютере. система. Чтобы увидеть, какие 32-разрядные драйверы установлены, нажмите ⊞ Win + R , введите: C:\Windows\SysWOW64\odbcad32.exe и перейдите на вкладку Drivers снова.

enter image description here

Драйвер установлен, но это может быть неправильная разрядность, что мне делать?

Тогда у вас естьдва варианта: либо настроить разрядность, в которой работает ваша программа, либо установить драйвер с другой разрядностью.

Некоторые из драйверов, установленных по умолчанию в Windows, имеют только 32-разрядный вариант. Они не могут использоваться с 64-битными программами.

Обычно вы можете определить, в какой битовой программе запущена программа, в диспетчере задач. В Windows 10 все 32-разрядные программы (32-разрядные) добавлены к их имени. Если этого нет, скорее всего, вы работаете с 64-битной программой, а большинство современных языков программирования и сред по умолчанию работают на 64-битной версии, но позволяют переключаться на 32-битную. Однако детали для разных языков программирования выходят за рамки этого вопроса.

Как проверить, что я не набрал неверно имя драйвера?

Строка подключения ODBC выглядит следующим образом:

DRIVER={DriverName};ParameterName1=ParameterValue1;ParameterNameN=ParameterValueN;

Часть имени драйвера должна быть разделена фигурными скобками, если она может содержать специальные символы, и должна точно соответствовать имени установленного драйвера, как указано в Администраторе источника данных ODBC, включая пробелы и типографские символы, но исключая заглавные буквы.

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

У меня нет драйвера или у меня неправильная разрядность, где я могу найти нужный?

Это зависит от того, какой драйвер вы хотите использовать.

Список распространенных драйверов с местами загрузки (все 32-разрядные и 64-разрядные по одному URL-адресу):

Если драйвер, который вы хотите использовать, не является 'В этом месте обычно легко найти с помощью Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...