
Я работаю с малым бизнесом, который использует базу данных на основе 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. Пока вы знаете о возможности того, что панели управления не будут работать так, как ожидается, я не думаю, что какая-либо конфигурация поставит вас в тупик.