ターミナル サービスを実行している Windows 2008 がありますが、これはリモート アプリであり、完全なデスクトップではありません。calc.mdb という
1 つのデータベース ファイルがあり、"ディスクまたはネットワーク エラー" が表示されます。MS Access 2003 がインストールされているユーザーがアクセスした場合は、問題なく動作します。ただし、RemoteApp 経由でアクセスする出張中のユーザーの場合は、"ディスクまたはネットワーク エラー" が表示されます。
検索したところ、ほぼ全員が 2 つの結論に達しました。1
. ネットワーク エラーです。2
. 再コンパイルおよび/または圧縮します。
ネットワークに問題がないことは確認できたので、1 番ではないことは確かです。
再コンパイルおよび圧縮しましたが、成功しませんでした (データベースを開くことはできます)。
クライアント コンピューターから:
A) 別の RemoteApp (Word、WordPad、または別のAccess DBでも)
B) 完全なリモート デスクトップ経由でログインしても問題はありません。
C) ローカルにインストールされた Access 2003 からデータベースを実行できます。
D) リモート アプリ経由で開くと、「ディスクまたはネットワーク エラー」が表示されます。
イベント ログには、私が見つけた助けになるような情報は何も表示されません。 Windows Server には現在さまざまなログがあるので、他に調べる場所があるかもしれません。 これは確かに RemoteApp の設定に関連しているようです。
繰り返しますが、これはネットワークの問題ではありません。この問題は数か月続いています。ネットワークの問題ではないことは確認済みです。
はい、現在のプロジェクトが完了したら、次はこれらの古くなったアプリを更新します。
編集: コメントに基づく追加テスト:
- 問題のある DB をローカル コンピューターにコピーしました。
- ファイル名に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'
@l から上位 1 @sqlCmd = sqlcmd を選択 (@sqlCmd は 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