У меня есть код, который делает что-то вроде этого (обратите внимание, что фактический код намного сложнее). Я произвел это, чтобы помочь объяснить:Менеджер транзакций партнера отключил поддержку удаленных/сетевых транзакций
Imports System.Data.SqlClient
Imports System.Transactions
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Using scope As New TransactionScope
Try
Dim objCon As SqlConnection = New SqlConnection("Connection string 1")
Dim objCon2 As SqlConnection = New SqlConnection("Connection string 2")
objCon2.Open()
Using objCon2
Dim t1 As New Test
t1.Test()
objCon.Open()
End Using
Catch ex As Exception
'I do not swallow exceptions
End Try
End Using
End Sub
End Class
Public Class Test
Public Sub Test()
Dim objCon1 As SqlConnection = New SqlConnection("Connection string 1")
objCon1.Open()
End Sub
End Class
Код выше показывает, что я подключаю к двум базам данных внутри транзакции (один из них связан с дважды). Вот исключение: Ошибка FormLoad: System.Transactions.TransactionException: Менеджер транзакций партнеров отключил поддержку удаленных/сетевых транзакций. (Исключение из HRESULT: 0x8004D025).