Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

  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.

  2. Что касается части вашего вопроса с 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.

Ответ 7

если вы используете IIS, возможно, вам следует попробовать
"пулы приложений" → "DefaultAppPool" → "значение по умолчанию пулов приложений" → "32-Bit-application-activ" → установить false