MS Access 2003 - Ошибка диска или сети - НЕ проблема с сетью - Удаленное приложение - Win 2008

4709
KingOfAllTrades

У нас в 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.

Опять же, это не проблема сети! Это продолжается уже несколько месяцев. Я подтвердил, что это не проблема сети.

И да, как только я закончу свой текущий проект, следующим будет обновление этих устаревших приложений.

РЕДАКТИРОВАТЬ: дополнительный тест на основе комментария:

  1. Скопировал поврежденную БД на локальный компьютер.
  2. Переименован, чтобы добавить TEST1 к имени файла.
  3. Скопировано обратно на сервер.
  4. Обновлен ярлык RemoteApp для просмотра нового имени файла.
  5. Оно работает!

Так что простое копирование файла и переименование заставляют его работать. Тем не менее, я попробовал те же шаги без изменения имени (в основном, скопировать его на локальный и скопировать / перезаписать обратно на сервер), и это не решает проблему.

-1
Если они открывают Access как RemoteApp, а затем загружают соответствующую БД, получат ли они ошибку? В какой момент во время этого они получают эту ошибку? Указывает ли конкретная рассматриваемая БД на какие-либо другие БД или файлы? Какие-либо хранимые процедуры или триггеры настроены в этой БД? Ƭᴇcʜιᴇ007 9 лет назад 0
Да, ошибка возникает, если они открывают файл из Access после подключения к серверу. Кажется, это происходит во время загрузки базы данных. Эта база данных не имеет связанной базы данных и не подключается к другой базе данных. Однако есть другая база данных MS Access 2003, которая подключается к ней и извлекает информацию из нее (через VBA). Это было настроено несколько месяцев назад, и эта проблема существовала до того, как мы внесли это изменение. KingOfAllTrades 9 лет назад 0
Вы уверены, что в этой БД нет триггеров или внешних индексов? Вы уверены, что в этой БД нет VBA, в частности что-то в AutoExec (которое срабатывает при загрузке)? Если вы экспортируете данные и импортируете их в новую БД, эта БД открывается должным образом? Ƭᴇcʜιᴇ007 9 лет назад 0
Там есть VBA. Пока я собирался протестировать его без кода VBA, я просто сделал копию, и эта копия работает. Собираюсь добавить к вопросу. KingOfAllTrades 9 лет назад 0
@ Techie007 Смотрите обновленный вопрос с результатами этого теста. Также нет кода в авто-исполнении. Этот просто имеет форму с двумя кнопками для запуска двух процессов. Те, очевидно, имеют код VBA. KingOfAllTrades 9 лет назад 0
В дополнение ко всей этой информации, перезагрузка устраняет проблему. KingOfAllTrades 9 лет назад 0
Перезагрузка чего? Ƭᴇcʜιᴇ007 9 лет назад 0
Извините, сервер. Конечно, это означает, что я отключаю всех других пользователей (как я только что сделал). KingOfAllTrades 9 лет назад 0

1 ответ на вопрос

0
boyleyc

I encountered this error and post after I created a new 2008 R2 server, and restored a backup of a 2005 Database.

I then imported all users, maintainence plans etc, but I got this error as I had forgotten to change the default language from US English to British English.

After the migrate I had to :

  1. refresh statistics with : exec sp_udatatestats
  2. set default laguage with : EXEC sp_configure 'default language', 23
  3. using the below code (I should link it but i forgot where I got it from) I changed all users language

    declare @l table(sqlCmd nvarchar(max)) declare @sqlCmd nvarchar(max) insert @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

Похожие вопросы