クライアント/サーバー ベースでデータベース プログラムを開発しています。TcpListener
クラス (C#)でサーバーを起動しました。クライアントが接続され、クライアントからのクエリがサーバー側mdf
ファイルで実行され、結果がNetworkStream
クラスを介して送信されます
SqlConnection
現在、クライアントはサーバー内の(クライアント スレッドごとに 1 つの接続オブジェクト) に対してトランザクション (DML) を実行しますが、テーブルに対する 1 つのクライアントのトランザクションの処理中、他のクライアントは最初のトランザクションまでサーバーからデータを取得できません。 client commit
ed またはrollback
ed そのトランザクションON THAT PARTICULAR TABLE。
ここでは、すべてのクライアントのコミット/中止を気にせずに、クライアントが DML トランザクションを実行している間に、すべてデータを要求している他のクライアントのために MDF ファイルをレプリケートする必要があります。
単純に、MDF ファイルで現在のデータを他のクライアントが利用できるようにする必要があります。トランザクションの後Commit
、MDF の実際のデータのみが変更されます。