0

MS Access 2007 を DB として使用しており、アクセスが制限されているユーザー (パワー ユーザー) をサポートする必要があります。

  • DB はすべてのユーザーに共通である必要があります (したがって、ユーザーのプライベート フォルダーに配置することはできません)。
  • 特定のディレクトリの R/W のアクセス許可をすべてのユーザーに付与することは許可されていません
  • ただし、すべてのユーザーがこの DB を使用できる必要があります。

誰でもこの問題の解決策を考えることができますか? (私はこの仕事にサービスを書くことしか考えられませんが、もっと良いものがあるに違いないと確信しています)

4

3 に答える 3

1

MDB を、クエリ、フォーム、レポート、マクロ、およびモジュールを含むフロント エンド MDB に分割し、バック エンド MDB にはテーブルとリレーションシップのみを含めたいと考えています。FE は、各ネットワーク ユーザーのコンピューターにコピーされます。FE MDB は、サーバー上に存在するバックエンド MDB 内のテーブルにリンクされています。FE MDB を更新し、MDE としてユーザーに配布します。

詳細については、「アプリをフロント エンドとバック エンドに分割するためのヒント」ページを参照してください。Auto FE Updaterのダウンロード ページを参照して、これを比較的簡単に実行してください。このユーティリティは、Terminal Server/Citrix も非常にうまくサポートしています。

2 番目の箇条書きに記載されている制限がある理由がよくわかりません。すべてのユーザーが R/W 権限を持つサーバーのどこかに共通のフォルダーが必要です。これをもっと詳しく説明してください。

于 2009-07-12T16:59:46.830 に答える
1

これを見て、決定を下すのに役立ててください。個人的には、ユーザーが共有データベースとして 4 人以上の同時ユーザーを使用している場合、Access を使用することはお勧めしません。ただし、アクセスを高速化するためにSQLデータをローカルにキャッシュし、必要なデータ変更をSQL ServerにプッシュするSQL ServerバックエンドのフロントエンドとしてAccessを使用するソリューションを使用しました。そして、その Access ファイルをクライアント コンピューターに常駐させます。

アクセスをどこにでも置くには、アクセスがそのディレクトリにロックファイルを作成するため、そのディレクトリに対する読み取り/書き込みアクセス許可が必要です (または、とにかくそうでした)。

Access の使用を主張する場合は、SQL Server バックエンドに接続する Access フロント エンドを使用します。多くのユーザー (最大で 4 ~ 8 人) がいない場合は、ネットワーク共有オプションを使用できます。

于 2009-07-12T06:47:32.840 に答える
0

SQL Server Expressはバックエンド データベースとして使用でき、すべてのユーザーにフォルダーへの書き込みアクセス許可を付与する必要はありません。

SQL Server Migration Assistant 2008 for Access V4.0を使用して、Access データベース テーブルを SQL Server Express に移行できます。

SQL Server Express をデータベース サーバーとして使用すると、マルチユーザー環境での Access の安定性と信頼性が大幅に向上します。私は、20 人以上の同時ユーザーがインストールされている環境で、数年間 Access を使用してきました。同様のことを行っている場合は、バックエンド データベースとして Sql Server または Sql Server Express を使用することを強くお勧めします。

于 2009-07-12T06:37:46.823 に答える