Почему возникает ошибка: [Диспетчер драйверов ODBC] Имя источника данных не найдено? (отлично работает в среде разработки)

У меня возникают проблемы на моей странице ASP. Это страница входа, которая проверяет учетные данные пользователя в базе данных, прежде чем разрешить доступ к главной странице. Я создал страницу отладчика, чтобы узнать подробности ошибки, и это сообщение об ошибке:

 Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified. 

Это сообщение об ошибке, с которым я сталкиваюсь на веб-сервере, когда захожу на сайт. Странно то, что при локальном тестировании страницы на моем компьютере (рабочем столе) все работает нормально (даже с сервером IIS и MSSQL). Я также использую ту же строку подключения при развертывании и тестировании страницы.

Пожалуйста, помогите, любые предложения или комментарии будут приняты.

Спасибо, Нойти.


person nhoyti    schedule 26.01.2010    source источник


Ответы (6)


Вероятно, проблема связана с настройкой ODBC на самом сервере. Другими словами, строка подключения [к источнику ODBC] в порядке (поскольку проверена на другом сервере), но ссылается на источник, который не настроен на этом конкретном сервере.

Чтобы решить эту проблему, откройте Администратор источника данных ODBC (обычно это один из ярлыков в меню инструментов «Администрирование») и проверьте, действительно ли у вас есть источник (обычно «Системный DSN») с тем же именем, что и в соединении. нить. Такой источник, вероятно, не существует или неправильно настроен.

Помимо соображений производительности, можно рассмотреть возможность использования более прямых поставщиков данных (таких как поставщик данных MS SQL или Microsoft.Jet.OLEDB) на уровне строки подключения; это позволяет избежать дополнительной точки конфигурации (панель конфигурации ODBC) на сервере (но тогда может потребоваться использование двух отдельных строк подключения, одной для тестовой среды и одной для рабочей среды...)

person mjv    schedule 26.01.2010
comment
привет, ребята.. спасибо за ответы.. администратор базы данных смог выяснить, в чем причина проблемы... - person nhoyti; 28.01.2010
comment
Который был? Это бесполезный комментарий, который не поможет никому, столкнувшемуся с той же проблемой!!! - person Alex; 06.07.2016

Типичная строка подключения ODBC для подключения к SQL Server может выглядеть следующим образом.

DRIVER={SQL Server};SERVER=127.0.0.1\SQLEXPRESS;DATABASE=dbname;
UID=userid;PWD=password

Перейдите в Панель управления -> Инструменты администрирования -> Источники данных (ODBC).

Попробуйте создать пользовательский DSN, используя информацию, указанную в строке подключения, и проверьте подключение ODBC с рабочего сервера к SQL Server.

person poh    schedule 26.01.2010

Я столкнулся с той же проблемой (при попытке подключиться к MySQL через Excel VBA), и мне потребовалось почти полдня, чтобы решить ее. Я наконец решил проблему благодаря ответу от fr0mi на VBForums.

ответ fr0mi на VBForums

Я использую 64-битную систему Windows 7 и, таким образом, загрузил все соединители ODBC для 64-битной системы. Однако, используя это, я не смог подключить Excel к базе данных MySQL и не смог запустить макрос, который подключался бы к базе данных. Тем не менее, в инструментах администратора драйвер ODBC всегда создавал успешное соединение с базой данных, поэтому я подумал, что драйвер MySQL ODBC 5.1 подойдет для использования.

Однако кажется, что в 64-битной системе у вас есть два соединителя: один 32-битный и один 64-битный. Файл «odbcad32.exe» находится в папке «C:\Windows\SysWOW64\». Вы поймете, что в списке нет драйвера MySQL ODBC. Теперь, чтобы исправить все это, вам также нужно загрузить 32-битный ODBC Connector и установить его. Затем настройте драйвер для вашей базы данных. Вы поймете, что драйвер будет не 5.1, а 3.51, который вам также нужно будет изменить в вашем сценарии VBA. Тогда это должно работать.

person Colin Stadig    schedule 11.02.2016

У меня была похожая, но немного другая проблема и решение.

Я использовал 64-разрядную версию Excel, и вместо этого мне понадобился 64-разрядный драйвер.

В моем случае использовался метод System.Runtime.InteropServices через подпрограмму C#, которую я разработал некоторое время назад при использовании 32-разрядной версии Excel — подпрограмма автоматически определяет набор соединений ODBC во время выполнения (где только устанавливалась 32-разрядная версия My ODBC Водитель). Подпрограмма открывает и редактирует электронную таблицу Excel (как шаблон, а затем переименовывает ее при закрытии); при открытии он сбрасывает серию соединений, используя этот драйвер, для текущих целевых имен БД, выбранных пользователем - БД MySQL управляют кучей сводных таблиц, используемых для анализа.

Я установил последнюю версию для My ODBC (где я мог найти обе версии (5.3.13)).
С установленным 64-битным драйвером никаких изменений не потребовалось, и процедура снова заработала. Также протестировано, что могут быть установлены обе версии и работает на 64-битной ОС с использованием 32-битной или 64-битной лицензии MS Excel.

Спасибо за помощь в этом. Я был бы сегодня никуда без stackoverflow!!.

person jbaben    schedule 13.09.2019

В прошлом году у меня была эта ошибка при попытке подключения к серверу MySQL. Попробуйте удалить из вашего my.ini одну строку: «skip-name-resolve» (отключить разрешение имен), которая не разрешает имена хостов, потому что в этом случае все имена хостов являются IP или «localhost». ИЛИ попробуйте изменить свой «account» @ «localhost» на «account» @ «127.0.0.1»

person Pawlissimo    schedule 02.04.2013

Обратите внимание, что для установки версии sqlcmd 15.0.1000.34 необходимо установить оба этих компонента:

  • ОДБК 13
  • ОДБК 17

Он будет жаловаться во время установки и во время выполнения, и сообщения об ошибках могут не отражать реальность.

Thread @ social.technet.microsoft.com

Ошибка @ feedback.azure.com

person crokusek    schedule 09.01.2019