1
我们有一个使用ADO.NET的C#应用程序和一个具有SNAPSHOT事务隔离级别的SQL Server。这是'原样',不幸的是不能修改。在处理快照连接后调用链接的服务器失败
现在我们需要在链接的服务器上插入东西。
我们执行以下代码(减少来说明问题):
// Create a snapshot Transaction and close the connection
using (var con = new SqlConnection(myConStr))
{
con.BeginTransaction(TransactionLevel.Snapshot);
}
// do something with a linked server
using (var con = new SqlConnection(myConStr))
{
using (var cmd = con.CreateCommand()
{
cmd.CommandText = "insert into LinkedServer.SomeDb..Table ...";
cmd.ExecuteNonQuery();
}
}
我们得到可以试图插入一些内容链接服务器
“远程访问不支持事务处理时异常隔离级别“SNAPSHOT”'
我想知道为什么它是不可能的:我们打开连接,确保它被丢弃(清除所有事务,我猜),并使用第二个连接进行链接服务器调用。
使用普通SQL执行SSMS中的东西似乎工作。
我们有什么缺失?有没有适当的方法来做到这一点?
感谢您的正确方向提示。