Sqlconnection не поддерживает параллельные транзакции - PullRequest
3 голосов
/ 23 января 2010

Я хочу запустить две транзакции одновременно. Поэтому я дал MultipleActiveResultSet = false в строке подключения, как указано в статье MSDN. Но после изменения строки подключения я получаю «Целевой компьютер активно отказался». Я работаю с WCF.

Есть идеи на этот счет?

Спасибо.

Ответы [ 4 ]

4 голосов
/ 23 января 2010

У меня сложилось впечатление, что MARS действительно применимо только к особому случаю получения нескольких результирующих наборов только для чтения только для одного соединения, но обычные операции должны иметь свои собственные соединения.

2 голосов
/ 23 января 2010

Можете ли вы объяснить, что вы пытаетесь сделать, пожалуйста?

Транзакция является атомарной и изолированной (так эффективно для каждого соединения). Вы не можете сделать 2 одновременных транзакции для одного соединения / сеанса: это не имеет смысла

1 голос
/ 23 января 2010

Вы уверены, что "целевой компьютер активно отказался" связан с параллельными транзакциями?

Обычно это означает, что устройство не прослушивает порт, с которым вы пытаетесь разговаривать.

0 голосов
/ 29 августа 2013

Я сделал эту ошибку:

SqlConnection Con=new SqlConnection(_myConString);
SqlTransaction tr=Con.CreateTransaction();
tr=Con.CreateTransaction();

Строки 2 и 3 создают транзакции. Следовательно я получаю ошибку. Я исправился, и проблема была решена.

Вывод: вызов CreateTransaction до завершения работающей транзакции вызывает указанное выше исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...