﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Базы Данных / Базы данных  / Транзакция stored proc в ADO.NET / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sat, 22 Nov 2008 19:20:08 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Транзакция stored proc в ADO.NET</title><link>http://www.relib.com/forums/Topic904055-2-1.aspx</link><description>Спасибо за исчерпывающий ответ! Теперь понятно.</description><pubDate>Fri, 08 Sep 2006 19:34:21 GMT</pubDate><dc:creator>Vyacheslav</dc:creator></item><item><title>RE: Транзакция stored proc в ADO.NET</title><link>http://www.relib.com/forums/Topic904055-2-1.aspx</link><description>Из дoкументaции ADO.NET dlya SqlConnection.BeginTransaction: "This command maps to the SQL Server implementation of BEGIN TRANSACTION." Этo дaёт oтвет нa Вaш втoрoй вoпрoс - в oбoих случaях зaпуск трaнзaкции дoлжен прoхoдить oдинaкoвo, хoтя вoзмoжен некoтoрый overhead при стaрте из ADO. Я личнo предпoчтитaю испoльзoвaть Begin Transaction нa стoрoне SQL Servera если речь идёт o хрaнимoй прoцедуре.&lt;/P&gt;&lt;P&gt;&lt;BR&gt;Теперь к первoму вoпрoсу. Сoглaснo SQL Server дoкументaции BEGIN TRANSACTION represents a point at which the data referenced by a connection is logically and physically consistent... and lasts until either it completes without errors and COMMIT TRANSACTION is issued ... or or errors are encountered and all modifications are erased with a ROLLBACK TRANSACTION statement." Oтсюдa вытекaет oтвет нa Вaш первый вoпрoс - этo действует нa всю пoследoвaтельнoсть SQL Statements в хрaнимoй прoцедуре.&lt;/P&gt;&lt;P&gt;Небoльшoе утoчнение: я рaбoтaю с SQL Server 2000, нo, судя пo дoкументaции, в этoм вoпрoсе изменений не прoизoшлo.</description><pubDate>Fri, 08 Sep 2006 16:39:30 GMT</pubDate><dc:creator>MFisher</dc:creator></item><item><title>Транзакция stored proc в ADO.NET</title><link>http://www.relib.com/forums/Topic904055-2-1.aspx</link><description>Есть хранимые процедуры (SQL Server 2005), в них несколько SQL Statements.&lt;/P&gt;&lt;P&gt;Есть внешнее приложение использующее ADO.NET 2.0.&lt;/P&gt;&lt;P&gt;Было принято решение запускать транзакции на основе ADO.NET. Так вроде бы нагляднее и читабельнее, если откат транзакции размещён в обработчике исключения. Но что-то я наверное уже переработал - если у меня транзакция на основе ADO.NET для одной хранимой процедуры, то она действует на всю последовательность SQL Statements в этой процедуре ?&lt;/P&gt;&lt;P&gt;А вообще где корректнее запускать транзакции - в хранимой процедуре или на основе ADO.NET, или это дело вкуса ?&lt;/P&gt;&lt;P&gt;Спасибо. </description><pubDate>Fri, 08 Sep 2006 02:05:03 GMT</pubDate><dc:creator>Vyacheslav</dc:creator></item></channel></rss>