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

28

Я пытаюсь открыть программу в первый раз на Windows XP Pro, которая использует PostgreSQL 9. Я получаю сообщение об ошибке:

  

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

В моем диспетчере ODBC у меня есть список пользовательских DSN и системных DSN. Я попытался установить драйвер postgres odbc, чтобы убедиться, что это поможет, но это не так.

В файле программы есть файл connect.dat с строкой с надписью «OLE DB Provider = MSDASQL». Изменение этой записи изменяет сообщение об ошибке, которое я получаю: «Поставщик не может быть найден, он может быть неправильно установлен».

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

    
задан user2437443 14.06.2013 в 21:08
источник
  • Если кто-либо еще ищет решение этой проблемы, запустите R & D из раздела драйвера ODBC. Проверьте, указан ли указанный вами драйвер. –  P5Coder 12.09.2013 в 09:07
  • Эта ошибка говорит мне, что нет драйвера для запуска ODBC DSN. Установите данный драйвер ODBC DRIVER MSI и проверьте, не исчезла ли ошибка. –  bshea 25.08.2017 в 21:06

4 ответа

33

Относительно ошибки: [Microsoft] [Менеджер драйверов ODBC] Имя источника данных не найдено, и драйвер по умолчанию не указан.

Эта ошибка означает, что имя источника данных (DSN), которое вы указываете в конфигурации вашего подключения, не содержится в реестре Windows.

** Важно, чтобы исполняемый и связанный формат драйвера ODBC (ELF) был таким же, как и ваше приложение. Другими словами, вам понадобится 32-разрядный драйвер для 32-разрядного приложения или 64-разрядный драйвер для 64-разрядного приложения.

Если они не совпадают, можно настроить DSN для 32-битного драйвера и при попытке использовать этот DSN в 64-разрядном приложении DSN не будет найден, потому что реестр содержит информацию о DSN в разных местах в зависимости от ELF (32-бит и 64-бит).

Убедитесь, что вы используете правильный инструмент администратора ODBC. В 32-разрядной и 64-разрядной версиях Windows, администратор ODBC по умолчанию находится в каталоге c: \ Windows \ System32 \ odbcad32.exe. Однако на 64-битной машине Windows по умолчанию используется 64-разрядная версия. Если вам нужно использовать 32-разрядный инструмент администратора ODBC в 64-битной системе Windows, вам нужно будет запустить найденный здесь: C: \ Windows \ SysWOW64 \ odbcad32.exe

Где я вижу, что это отключает людей, когда пользователь использует 64-разрядный администратор ODBC по умолчанию для настройки DSN; думая, что это для 32-битного DSN. Затем, когда 32-разрядное приложение пытается подключиться с использованием этого DSN, происходит «Источник данных не найден ...».

** Также важно удостовериться, что орфография DSN соответствует настройке настроенного DSN в ODBC-администраторе. Одно неправильное письмо - это все, что требуется для того, чтобы DSN был несовместим.

Вот статья, которая может содержать некоторые дополнительные сведения

Возможно, это не тот же товарный бренд, который у вас есть; это общая проблема, возникающая при использовании имен источника данных ODBC.

Что касается части поставщика OLE DB вашего вопроса, это похоже на аналогичную проблему, когда приложение не может найти конфигурацию для указанного поставщика.

    
ответ дан PRGSTony 21.08.2014 в 16:11
15

Получил эту ошибку, потому что у меня было имя источника данных в пользовательском DSN вместо System DSN     

ответ дан Nick 17.01.2017 в 18:39
3

Проблема может быть, например, из имени драйвера вместо DRIVER={MySQL ODBC 5.3 Driver} try DRIVER={MySQL ODBC 5.3 Unicode Driver} вы можете увидеть имя драйвера из инструмента администрирования

    
ответ дан Meysam 20.05.2017 в 10:42
0

Я получил это с помощью тестов с данными:

Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)

Проблема заключается в том, что указанный выше драйвер - только 32 бит. Я переключил файл сценариев visual studio на 64-битный, чтобы протестировать приложение с 64-разрядной версией.

Переключение на 32-битный файл файла настроек исправлено.

с использованием файла настроек теста

    
ответ дан N-ate 27.01.2018 в 01:36