Можно ли установить уровень изоляции в строке подключения? - PullRequest
17 голосов
/ 22 июля 2010

Как я могу установить уровень изоляции всех моих вызовов SqlCommand ExecuteNonQuery, которые будут считываться незафиксированными? (подключение к корпоративному экземпляру SQL Server 2008)

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

Ответы [ 5 ]

14 голосов
/ 22 июля 2010

Нет, вы не можете.

Вам необходимо явно определить уровень изоляции при запуске транзакции.

Для получения дополнительной информации о настройке уровня изоляции см. Документацию MSDN.по теме .

2 голосов
/ 04 декабря 2013

Нет, вы не можете.

И нет способа изменить уровень изоляции транзакции по умолчанию.

http://blogs.msdn.com/b/ialonso/archive/2012/11/26/how-to-set-the-default-transaction-isolation-level-server-wide.aspx

1 голос
/ 15 марта 2013

Вы можете установить уровень изоляции в объекте SqlTransaction, который является свойством объекта SqlCommand.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqltransaction.isolationlevel.aspx

0 голосов
/ 19 сентября 2017

Обратите внимание, что ADODB позволял устанавливать уровень изоляции по умолчанию для соединения, тогда как ADO.NET будет использовать уровень изоляции последней зафиксированной транзакции в качестве уровня изоляции по умолчанию (см. Примечание в https://msdn.microsoft.com/en-us/library/5ha4240h(v=vs.110).aspx). См. https://technet.microsoft.com/en-us/library/ms189542%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396 для получения подробной информации об установке уровня изоляции для различных технологий баз данных Microsoft.

0 голосов
/ 22 июля 2010
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
BEGIN TRAN
/* do stuff */
COMMIT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...