2

.NET、C#、SQLServerは初めてです。

C#を使用してソケットアプリケーションを開発する必要があります。そのアプリケーションはinsert、何らかの要求に関してデータベース内のデータを、、、などする必要がありますdeleteupdate

データベース内のデータをhttp経由でWebアプリケーションに送信するC#を使用して別のWindowsサービスアプリケーションを開発する必要があります。

両方のアプリケーションは同じシステムで実行されます。データベースはSQLServerです。両方のアプリケーションが同じデータベースを使用します。

一方のアプリケーションがデータベースのデータを削除または挿入しているときに、もう一方のアプリケーションが同時にデータベースにアクセスできるかどうかはわかりません。

4

3 に答える 3

3

Sql Server は複数のリクエストを問題なく処理できます。接続された各クライアントは、異なるspidを取得します。

ただし、分離レベルとトランザクションを介してデータの同時実行の問題を処理するのは、SQL サーバー コード (バッチまたは sproc) 次第です。したがって、他のユーザーが更新、削除などを行っているときにデータを読み取るユーザーを制御するには、分離レベルとロックを使用する必要があります。

分離レベル:

http://msdn.microsoft.com/en-us/library/aa213034(v=sql.80).aspx

また: http://dbalink.wordpress.com/2008/05/27/isolation-levels-and-locks-in-sql-server-2005/

トランザクションに関する良い記事:

http://aspnet.4guysfromrolla.com/articles/072705-1.aspx

于 2012-08-21T11:53:27.893 に答える
0

簡単な答えはイエスだと思います。複数のアプリケーション/人が同時にデータベースにアクセスできます。

データベース内のトランザクションと同時実行性について調べたい場合があります。

http://en.wikipedia.org/wiki/Atomicity_(database_systems )

http://msdn.microsoft.com/en-us/library/cs6hb8k4(v=vs.80).aspx

于 2012-08-21T11:53:29.403 に答える
0

必要なだけ多くのアプリケーションで同じ SQL Server データベースにアクセスできます。あるアプリケーションが、別のアプリケーションによって変更されたデータを同時に読み取ろうとするのではないかと心配している場合は、トランザクションと分離について読んでください。しかし、要するに、1 行の SQL コードのみを必要とする小さなアトミックな変更を行う場合、現時点ではおそらく気にする必要はありません。

于 2012-08-21T11:54:57.330 に答える