Что может быть причиной сообщения об ошибке «Имя источника данных не найдено» при подключении ODBC

Что может быть причиной сообщения об ошибке «Имя источника данных не найдено» при подключении ODBC

Я работаю с малым бизнесом, который использует базу данных на основе Access для управления заказами на работу. Система существует уже много лет, и у них есть 6-7 ПК, использующих специальное программное обеспечение от ISV для доступа к базе данных. Доступ к базе данных осуществляется через подключение к сопоставленному диску (Z:).

Несколько месяцев назад они начали периодически получать следующую ошибку:

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

Это приводит к тому, что ISV должен подключиться к базе данных и запустить исправление, чтобы восстановить базу данных. Ошибка, которую они видят, немного более конкретна и предполагает, что формат файла поврежден. Техническая поддержка предполагает, что проблема вызвана сбоем транзакции по сети. С этой целью мы попробовали несколько вещей

  • перенесена база данных на другой хост на случай возникновения проблем с исходным «серверным» ПК
  • заменил сетевой коммутатор
  • начал отключать клиентов от сети одного за другим, пытаясь изолировать проблемного ребенка, но безрезультатно

Пока безуспешно.

Мой вопрос(ы) - Может ли один из ПК закрывать сопоставление дисков и повреждать открытую базу данных? - Есть ли что-то новое в Windows 7, что может этому мешать? - Можете ли вы порекомендовать лучший подход к выявлению причины?

решение1

Это почти наверняка проблема 32-битного DSN против 64-битного. Чтобы использовать 32-битный DSN в 64-битной среде, перейдите наC:\Windows\SysWoW64\odbcad32.exe

Наше внутреннее приложение имеет очень похожее ограничение. Чтобы избежать этой проблемы в будущем, вам, возможно, захочется установить последнюю версиюСобственный клиент SQL Serverи развернуть как 32-битную, так и 64-битную версию DSN на каждой машине с помощью групповой политики.

решение2

Если вы подключите диск с помощью команды SUBST.exe вместо "NET USE", то в отличие от "NET USE" подключение всегда будет повторяться, когда подключенный диск потерян. Помните, что выполнение этого таким образом затрудняет отсоединение диска для человека, который не знает о команде SUBST.exe. Когда диск подключен таким образом, вы не можете просто отключить его из Windows Exploder... это не сработает.

Лично я согласен, что это проблема 64-битной версии.

Имейте в виду, что 32- и 64-битные панели управления ODBC DSN, хотя вы ожидаете, что они будут работать определенным образом, в некоторых случаях они делают наоборот. Например: при попытке добавить 64-битный «User DSN» в 64-битной системе вы можете заметить, что ваше соединение не устанавливается, но при использовании «System DSN» оно работает. Это происходит потому, что панель ODBC на самом деле генерирует «32-битный DSN» на вкладке «User» 64-битной панели управления ODBC, в то время как на вкладке «System» она сгенерирует ожидаемый 64-битный DSN. Пока вы знаете о возможности того, что панели управления не будут работать так, как ожидается, я не думаю, что какая-либо конфигурация поставит вас в тупик.

Связанный контент