Почему ошибка: «[ODBC Driver Manager] Имя источника данных не найдено ...»? (отлично работает в среде разработки) - PullRequest
4 голосов
/ 26 января 2010

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

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

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

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

Спасибо, Nhoyti

Ответы [ 5 ]

7 голосов
/ 26 января 2010

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

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

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

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

6 голосов
/ 26 января 2010

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

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

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

2 голосов
/ 11 февраля 2016

Я столкнулся с той же проблемой (пытаясь подключиться к 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 \" - вы поймете, что в списке нет драйвера ODBC для MySQL. Теперь, чтобы исправить все это, вы также должны загрузить ODBC Connector 32Bit и установить его. Затем настройте драйвер для вашей базы данных. Вы поймете, что драйвер будет не 5.1, а 3.51, который также нужно будет изменить в скрипте VBA. Тогда это должно работать.

0 голосов
/ 09 января 2019

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

  • ODBC 13
  • ODBC 17

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

Тема @ social.technet.microsoft.com

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

0 голосов
/ 02 апреля 2013

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

...