У нас есть Windows 2008, на которой запущены службы терминалов, но как удаленные приложения, а не как полноценные рабочие столы.
Есть один файл базы данных, calc.mdb, который выдает «Ошибка диска или сети». Если к нему обращается пользователь с установленным MS Access 2003, он работает нормально. Однако для наших путешествующих пользователей, которые обращаются через RemoteApp, они получают «Ошибку диска или сети».
Я искал, и почти все пришли к нескольким выводам:
1. Это ошибка сети.
2. Перекомпилируйте и/или сожмите его.
Это, конечно, не #1, потому что я могу убедиться, что сеть в порядке.
Я перекомпилировал и сжал, но безуспешно (и, кроме того, вы можете открыть базу данных).
С клиентского компьютера:
A) Не имеет проблем с запуском другого RemoteApp (например, Word, WordPad илидаже еще одна база данных Access)
B) Не имеет проблем со входом через полный удаленный рабочий стол.
C) Может запускать базу данных из локально установленного Access 2003
D) Получает "Ошибка диска или сети" при открытии через Remote-App.
Журнал событий не показывает ничего, что помогло бы мне найти. Со всеми этими журналами в Windows Server теперь, может быть, где-то еще поискать? Это определенно похоже на настройку RemoteApp.
Опять же, это НЕ ПРОБЛЕМА С СЕТЬЮ! Это продолжается уже несколько месяцев. Я проверил, что это не проблема с сетью.
И да, как только я завершу свой текущий проект, следующим шагом будет обновление этих устаревших приложений.
EDIT: Дополнительный тест на основе комментария:
- Скопировал проблемную базу данных на локальный компьютер.
- Переименовано для добавления TEST1 к имени файла.
- Скопировано обратно на сервер.
- Обновлен ярлык RemoteApp для просмотра нового имени файла.
- Оно работает!
Так что простое копирование файла и переименование срабатывает. Однако я пробовал те же шаги без изменения имени (в основном копировал его на локальный диск и копировал/перезаписывал обратно на сервер), и это не решило проблему.
решение1
Я столкнулся с этой ошибкой и опубликовал сообщение после того, как создал новый сервер 2008 R2 и восстановил резервную копию базы данных 2005 года.
Затем я импортировал всех пользователей, планы обслуживания и т. д., но получил эту ошибку, так как забыл изменить язык по умолчанию с американского английского на британский английский.
После миграции мне пришлось:
- обновить статистику с помощью: exec sp_udatatestats
- установить язык по умолчанию с помощью: EXEC sp_configure 'default language', 23
Используя приведенный ниже код (я должен был дать ссылку, но я забыл, откуда я его взял), я изменил язык всех пользователей.
объявить @l table(sqlCmd nvarchar(max)) объявить @sqlCmd nvarchar(max) вставить @l select 'alter login ' + quotename(loginname) + ' with default_language = British;' from sys.syslogins where dbname = 'XXXXXXXXXXXX'
select top 1 @sqlCmd = sqlcmd from @l while (@sqlCmd is not null) begin print @sqlCmd exec(@sqlCmd) update @l set sqlCmd = null where @sqlCmd=sqlCmd set @sqlCmd = null
select top 1 @sqlCmd = sqlcmd from @l where sqlCmd is not null end