MSSQL Serverのストアドプロシージャでは、BEGIN TRANSACTION/COMMIT TRANSACTION
を使用してSQLトランザクションを使用していますが、それは最初とどのように異なり、SqlConnection.BeginTransaction()
経由でADO.NETを使用してコミットするのでしょうか?ストアドプロシージャレベルのSQLトランザクションとSqlConnectionレベルのSQLトランザクションの違いは何ですか?
6
A
答えて
3
ADO.NETでは、違いはありません。これは、SqlTransactionオブジェクトの場合、トランザクションがすでにサーバー上でロールバックされている場合、Commitメソッドが「失敗する」とMSDNで明示的に述べられています。
また、SQL Serverプロファイラは、接続で.BeginTransactionを実行するとすぐに、「SET TRANSACTION ISOLATION LEVEL READ COMMITTED; BEGIN TRAN」と表示します。
ただし、ADO(.NETではなく)ではありません。これは、事実上ネストされたトランザクション(クライアントの内部にネストされたサーバートランス)を使って素敵なシナリオを可能にしていました。私はそれをたくさん使ってきましたが、その場合の「クライアント取引」が何であるかを正確に定義することはできません。
2
複数のストアドプロシージャを連続して呼び出してロールバックできるようにする場合は、SqlConnection.BeginTransaction()を使用してコードからトランザクションを管理する必要があります。それ以外の場合は同じです。
関連する問題
- 1. Sqlトランザクションの分離レベル
- 2. SQL ServerとADO.NETのトランザクションの違いは?
- 3. SQL Server 2005のトランザクションとトランザクションの相違点
- 4. Sql通知トランザクションのサポート分離レベル
- 5. DB2のSQL Serverトランザクションと同等のものは何ですか?
- 6. SQLトランザクションのロールバックエラー
- 7. asp.netとSQL Server +トランザクションのロールバック
- 8. SQLトランザクションのロールバックとコミット
- 9. SQLトランザクション:TSQLとVB.NET?
- 10. キープアライブsqlトランザクション
- 11. トランザクションは、SQL Server 2008でクエリ
- 12. SQLとPL-SQLとT-SQLの違いは何ですか?
- 13. Sql Server 2005とLinqトランザクション
- 14. SQLログとアクティブなトランザクション
- 15. デプロイメントスクリプト用のSQL Server 2005トランザクション
- 16. トランザクションSQL時間の問題
- 17. トランザクション分離レベル
- 18. @トランザクションとカスケードのリンクは何ですか?
- 19. NOLOCKとトランザクション分離レベル
- 20. トランザクションからの勘定勘定SQL
- 21. NHibernateの子トランザクション分離レベル
- 22. SQLとSQL * Plusの違いは何ですか?
- 23. 論理SQLと物理SQLの違いは何ですか?
- 24. LinqのトランザクションをSQLに処理する
- 25. ネットワークサーバー上の複数のSQLトランザクション
- 26. この(単純な)SQLトランザクションで何が問題になっていますか?
- 27. SQL Serverのトランザクション分離レベルを解除またはリセットするにはどうすればよいですか?
- 28. SQLとJETを使用したSSISトランザクション
- 29. 「トランザクションレベルを設定する」に開始トランザクションが必要ですか?私は、ストアドプロシージャに「SETトランザクション分離レベルを」使用している場合はMS SQL Serverので
- 30. SQLトランザクションはどのように使用できますか?