VB.NET を使用してアプリケーションを開発し、SQL SERVER Express をデータベース バックエンドとして使用しました。アプリケーションには 5 つのユーザー プロファイルがあります (各ユーザー プロファイルは異なるサービスを提供します)。
導入要件 : アプリケーションは、10 ~ 20 台のマシンを備えた LAN に導入する必要があります。任意のマシンから任意のユーザー プロファイルにアクセスできます。データベース エントリへの変更は、すべてのマシンに反映される必要があります。
この展開をどのように達成すべきかについて混乱しています。私の研究によると:
1. データベースは 1 台のマシンに配置する必要があります。このマシンはデータベース サーバーとして機能します。
私の問題 : ローカル マシン上のデータベースへのアクセスには慣れていますが、リモート データベースへのアクセス方法を教えてください。対処する必要があるのは接続文字列だけですか、それとも他にも問題がありますか? SQL SERVER をすべてのマシンにインストールする必要がありますか?それともサーバー マシンにのみインストールする必要がありますか? 並行性の問題 (複数のユーザーが同じデータに同時にアクセス/変更すること) に対処する必要がありますか? それとも、データベース エンジンによって処理されますか?
2. アプリケーションは、次の 2 つの方法でデプロイできます。サーバー上の共有ネットワーク ドライブに実行可能ファイルを保存します。各マシンのデスクトップにショートカットを提供します。ii. 実行可能ファイル自体を各マシンに保存します。
私の問題 : アプローチ 1 はどのように機能しますか? (複数のマシンで実行されている実行可能ファイルの 1 つのインスタンス ? :s) アプローチ 2 では、データベース エントリの変更はすべてのマシンに適切に反映されますか? アプローチ 2 で、アプリケーションに変更があった場合、すべてのマシンでそれを更新する方法はありますか? (各マシンに再デプロイする以外)どのアプローチが望ましいですか?すべてのマシンに .NET Framework をインストールする必要がありますか?
他のシステム変更 (ファイアウォール、セキュリティ、アクセス許可) を行う必要がありますか? 各マシンにオペレーティング システムをインストールする選択肢が与えられた場合、そのようなアプリケーション環境にはどのバージョンの Windows が適していますか?
ネットワーク上にマルチユーザー データベース アプリケーションを展開するのはこれが初めてです。