[Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено, и драйвер по умолчанию не указан
Я пытаюсь открыть программу в первый раз на Windows XP Pro, которая использует PostgreSQL 9. Я получаю сообщение об ошибке:
Проблема возникла при попытке войти в систему или создать производственной базы данных. Подробности: [Microsoft] [Менеджер драйверов ODBC] Данные имя источника не найдено и указанный драйвер по умолчанию не указан
В моем диспетчере ODBC у меня есть список пользовательских DSN и системных DSN. Я попытался установить драйвер postgres odbc, чтобы убедиться, что это поможет, но это не так.
В файле программы есть файл connect.dat с строкой с надписью "OLE DB Provider = MSDASQL". Изменение этой записи изменяет сообщение об ошибке, которое я получаю: "Поставщик не может быть найден, он может быть неправильно установлен".
Я не знаю, какое имя провайдера нужно вставить, чтобы это нормально работало. Я провел обширные исследования этой ошибки безрезультатно. Любые предложения были бы с благодарностью.
Ответы
Ответ 1
-
В связи с ошибкой: [Microsoft] [ODBC Driver Manager] Не найдено имя источника данных и не указан драйвер по умолчанию.
Эта ошибка означает, что имя источника данных (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 Administrator. Одно неверное письмо - все, что нужно для несоответствия DSN.
Вот статья, которая может предоставить некоторые дополнительные детали
Однако это может быть не тот товарный знак, который у вас есть; это общая проблема, возникающая при использовании имен источников данных ODBC.
-
Что касается части вашего вопроса с OLE DB Provider, то это похоже на проблему подобного типа, когда приложение не может найти конфигурацию для указанного поставщика.
Ответ 2
Получил эту ошибку, потому что у меня было Имя источника данных в DSN пользователя вместо System DSN ![enter image description here]()
Ответ 3
Проблема может быть, например, из имени драйвера вместо DRIVER={MySQL ODBC 5.3 Driver}
try DRIVER={MySQL ODBC 5.3 Unicode Driver}
вы можете увидеть имя драйвера из инструмента администрирования
Ответ 4
Я получил это с помощью тестов с данными:
Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
Проблема заключается в том, что указанный выше драйвер - только 32 бит. Я переключил файл сценариев visual studio на 64-битный, чтобы протестировать приложение с 64-разрядной версией.
Переключение на 32-битный файл файла настроек исправлено.
используя файл тестовых настроек
Ответ 5
Я попытался выше, но нашел мою проблему, я использовал | в имени DSN (я перемножил ODBC-коннекторы - по одному на каждую БД - чтобы убедиться, что я не объединяю данные)
Я заменил | (труба) с _ и все теперь работает нормально.
Я пытался вызвать SQL Server из Alteryx.
Ответ 6
Следуя приведенным здесь инструкциям, http://help.loftware.com/pages/viewpage.action?pageId=27099554 Мне пришлось установить распространяемый компонент Microsoft Access Database Engine 2010, прежде чем я установил драйвер Excel, чтобы использовать соединение без DSN, которое я хотел использовать из Perl.
Ответ 7
если вы используете IIS, возможно, вам следует попробовать
"пулы приложений" → "DefaultAppPool" → "значение по умолчанию пулов приложений" → "32-Bit-application-activ" → установить false