|
分類:[ASP.NET (VB)]
いつも参考にしています
異なるServerに配置されているSqlServer(AとB)とします
これらのCommitを同時に行いたいのですがTransactionを一つにまとめるたり関連付けたりとか
そういった方法はないでしょうか?
Using ConnectionA As New SqlClient.SqlConnection(ConnectionStringServerA)
Using ConnectionB As New SqlClient.SqlConnection(ConnectionStringServerB)
ConnectionA.Open()
ConnectionB.Open()
Using TransactionA As SqlClient.SqlTransaction = ConnectionA.BeginTransaction()
Using TransactionB As SqlClient.SqlTransaction = ConnectionB.BeginTransaction()
Using CommandA As New SqlClient.SqlCommand(CommandTextA, ConnectionA)
Using CommandB As New SqlClient.SqlCommand(CommandTextB, ConnectionB)
CommandA.Transaction = TransactionA
CommandB.Transaction = TransactionB
Dim RetA As Integer = CommandA.ExecuteNonQuery
Dim RetB As Integer = CommandB.ExecuteNonQuery
End Using
End Using
TransactionA.Commit()
TransactionB.Commit() 'ここでエラーが発生するとAだけ更新される
End Using
End Using
End Using
End Using
|