SQL Server 2008 R2を2つのシステムにインストールしました。この1つのシステムはサーバーとして動作し、もう1つはクライアントです。asp.netで単一のTransactionScopeで2つのSqlConnectionを使用する方法C#
は、私はそれを示して私が
using (TransactionScope trnsScope = new TransactionScope())
{
try
{
List<Master_ProductBLL> lstProduct = new List<Master_ProductBLL>();
//My First SQL Connection For Server
using (SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString))
{
connection.Open();
//Here I can get All Products from Server Database
lstProduct = Master_ProductBLL.GetMaster_ProductBLLs(DBAction.Status.Active, "");
connection.Dispose();
}
//My Second SQL Connection For Client
using (SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DBConnection1"].ConnectionString))
{
connection.Open();
//Here I have save my Server Product into Client SQL Server
foreach (Master_ProductBLL item in lstProduct)
{
item.Save(true);
}
connection.Dispose();
}
trnsScope.Complete();
trnsScope.Dispose();
}
catch (TransactionException ex)
{
trnsScope.Dispose();
throw ex;
}
}
コーディング
<connectionStrings>
<add name="DBConnection" connectionString="Data Source=SERVER-PC\SQLEXPRESS2008;Initial Catalog=POS;Integrated Security=False;User Id=sa;Password=sql2008;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
<add name="DBConnection1" connectionString="Data Source=CLIENT-PC\SQLEXPRESS2008;Initial Catalog=POS;Integrated Security=False;User Id=sa;Password=sql2008;Connection Timeout=1;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
ここに私のweb.configファイルでは、クライアントシステムのデータベース
にサーバシステムのデータベースから製品をコピーする必要がありますエラーのようなエラー MSDTCのサーバー 'CLIENT-PC \ SQLEXPRESS2008'は使用できません。
サーバーの分散トランザクションコーディネーターのアドレスをサーバーから取得できません。 DTCはサーバーで有効になっていますか?私はそれをGoogleと次の詳細に
- を見つけてきた
は、サービスにアクセスしてください。 (START> SETTINGS> CONTROL PANEL>管理ツール>サービス)
- 「Distributed Transaction Coordinator」と呼ばれるサービスを見つけて右クリックして、「開始」>「開始」を選択します。
- は、このサービスが永久
私は上記の手順、サーバーとクライアントの両方を行っている。この問題を解決するために自動的に実行するようにします。
しかし、それでも、2つ(またはそれ以上)のSQLサーバはtransactionnaly「同期」であるためには
https://stackoverflow.com/questions/29414250/msdtc-on-server-server-is-unavailable –
ですあなたは同じエラーを取得していますか? –