Hi Nemachtiani,
Thanks, that is much more helpful 🙂
I suspect that something is causing the transaction to rollback in the SQL SP, which is causing a problem with the .NET transaction handler.
I can't say why or how, because I am not debugging the code, but that is my suspicion.(It is a known effect that a rollback in the SQL code can cause the .net transaction to lose it's connection)
I suggest that you do not try to handle rolling back the transaction within the SP as long as you are using the .net SQLTransaction.
Add some logging to your exception handler (you may already have it there, but left out for brevity) to record the contents of the errors collection from the SQLConnection object:
Here:
Catch ex As System.Exception
' Add some error logging from cn.Errors
Try
'when rare case ocurrs this line DONT THROW any further exception
tran.Rollback()
Catch exc As System.Exception
ExceptionManager.Publish(exc)'never happens when rare case ocurr
End Try
Finally
That extra logging should help to identify the issue, but if it is the rollback inside the SP, you will probably just see an invalid connection error or something like that indicating that the transaction has lost it's connection.
Oh, and do change that ByVal to a ByRef, won't you?
Good luck ! 🙂
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);