問題タブ [rollback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2008 - TFS チェックインをロールバックするにはどうすればよいですか?
TFS で最近行った変更をロールバックしたいと考えています。Subversion では、これは非常に簡単でした。ただし、TFS では信じられないほどの頭痛の種のようです。
オプション 1: 以前のバージョンを取得する
- 各ファイルの以前のバージョンを手動で取得する
- 編集のためにチェックアウト
- 失敗 - チェックアウト (VS2008) により、強制的に最新バージョンを取得する
オプション 2: TFS Power Tools を入手する
- Team Foundation Power Tools をダウンロード
- コマンド ラインからロールバック コマンドを発行する
- 失敗 - 他に保留中の変更がある場合は機能しません
オプション 3: 変更を手動で元に戻す
- 変更を手動で元に戻し、新しい変更セットをコミットする
質問
TFS で以前の変更セットにロールバックするにはどうすればよいですか?
sql - BEGIN/END TRANSACTION 内でストアド プロシージャを実行する
SQL でストアド プロシージャを作成し、それを ( EXEC spStoredProcedure
) BEGIN/END TRANSACTION 内で呼び出した場合、この他のストアド プロシージャもトランザクションに含まれますか?
C# の try/catch のように機能するかどうかはわかりませんでした。
sql - 選択のみを持つトランザクションでは、コミットとロールバックに違いはありますか?
私の会社で使用している社内アプリケーション フレームワークでは、どのコマンドもデータベースを変更しないことが分かっていても、すべての SQL クエリをトランザクションに入れる必要があります。セッションの最後に、接続を閉じる前に、トランザクションをコミットして適切に閉じます。特に速度に関しては、ロールバックした場合に特に違いがあったのだろうか。
私は Oracle を使用していますが、他のデータベースも同様の動作をしていると思います。また、トランザクションを開始するための要件については何もできません。コードベースのその部分は私の手に負えません。
perl - DBIハンドルでロールバック方法が利用できないのはなぜですか?
何らかの理由で、DBI ハンドルに問題があります。基本的に何が起こったのかというと、perl モジュールで特別な接続関数を作成し、次のように切り替えることでした。
に
そして、私はします
そして今、何らかの理由でエラーが発生し続けます:
../Foo.pm 行 171 で、パッケージ「Foo」を介してオブジェクト メソッド「rollback」が見つかりません。
したがって、奇妙なことは、$dbh は絶対に Foo ではなく、単に foo で定義されているということです。とにかく、今までそれで困ったことはありません。どうしたの?
編集:@Axeman:connect
オリジナルには存在しませんでした。次のように使用する文字列を作成する前に、次のようにします。
このようconnect
なものもあります
sql - Sql Server 2000 でのロールバックと更新コマンド
update コマンドを使用して、Sql Server 2000 データベースのテーブル全体を誤って更新してしまいました。私は実際には1行だけを更新するつもりでした。これで、2000 行すべてに更新が含まれます。この変更を元に戻す方法はありますか?
c# - .Net HtmlTextWriter での例外の安全性/処理?
HtmlTextWriter
HTMLを生成するために.Netを使用しています。
この例では、実行中にエラー例外がmyObject.GenerateHtml()
発生した場合、素敵なエラー html を生成しますが、その前にspan
決して閉じられない開始タグが表示されます。
私はそれをそのようにリファクタリングすることができました
大変な作業が終わるまでスパンは開きませんが、これは私にはぎこちなく見えます。HtmlWriter でロールバックする方法はありますか? ブロックを使用する負荷を入れなければならなかったとしても。
私は現在 .Net 2.0 で作業していますが、3.5 での解決策についての議論は問題ありません。
php - PHP で MySQL のコミット/ロールバックを実装するにはどうすればよいですか?
基本的に、このスクリプトは実行に時間がかかり、タイムアウトすることもあり、データベースの周りに半完全なデータが残っています。(はい、完璧な世界では、コミットとロールバックを実装する代わりにそれを修正することを知っていますが、そうしないことを余儀なくされています)
これが私の基本的なコードです(簡単にするために簡略化しています):
したがって、私の問題は、そのwhileループ内のプロセス全体が完了していない場合、挿入された行がそこに留まらないようにすることです。whileループの最初と最後でコミット/ロールバックを使用してこれを行うことができると思いますが、方法がわかりません。
sql-server - ロールバックが可能かどうかの ADO.NET チェック
ADO.NET で現在のトランザクションをロールバックできるかどうかを確認できるかどうかを自問しています。
msdn は、次の実装を提案しています。
さらに、次の注意事項があります。トランザクションをロールバックするときは、Try/Catch 例外処理を常に使用する必要があります。接続が終了した場合、またはトランザクションがサーバー上で既にロールバックされている場合、Rollback は InvalidOperationException を生成します。
しかし、ロールバックが可能かどうかを確認するために try/catch が推奨される解決策であるとは本当に信じられません。
SQL Server の実装では、トランザクションが「ゾンビ」の場合、SQLTransaction オブジェクトは Connection プロパティで null を返すことを知っています。
ただし、これは実装固有のものであり、SQL Server でのみ機能します。
では、トランザクションをロールバックできるかどうかを検出する db に依存しない方法はありますか?
ティア・マーティン
sql-server-2005 - SQLTransaction と T-SQL トランザクション
私は .NET 2.0 と SQL Server 2005 を使用しています。歴史的な理由から、アプリ コードは SQLTransaction を使用していますが、一部のストアド プロシージャは T-SQL の begin/commit/rollback tran ステートメントも使用しています。DBTransaction は多くのストアド プロシージャにまたがることができ、個々の sproc がそのスコープ内で何が起こっているかを制御します。実際には、これらはネストされたトランザクションです。
コードの古い動作では、いずれかの sproc が失敗すると、アプリケーション ロジックによって外側の SQLTransaction もロールバックされます。しかし、ここでロジックを変更して、障害が発生した場合でも、外側のトランザクションが残りの sproc をそのシーケンスで実行し続け、最後に、障害があったことがわかっているので、SQLTransaction 全体をロールバックします。
問題は、少なくとも現在コーディングされているように、いずれかの sprocs が ROLLBACK を実行すると、外側の SQLTransaction が接続を失ったように見えるため、その後のトランザクションの再利用の試みが失敗することです。T-SQL でロールバックする方法はありますが、外部の SQLTransaction は維持できますか? ここでセーブポイントが役立つのではないかと思っていましたが、まだよくわかりません。
この状況を複雑にしているのは、外部トランザクションが常に存在するとは限らないため、T-SQL ロールバックを単純に削除できないことです。場合によっては、sproc が単独で実行されます。時にはトランザクションのコンテキストで。
TransactionScope に切り替えると作業が簡単になりますか?
提案をありがとう...マイク
sql - SQL Server ロールバック スクリプトを作成する最良の方法は?
既存のデータベースのスキーマ変更に取り組んでいます。
データベースをバックアップして開発用コピーを取得し、変更を加えました。単一のロール スクリプトを作成して、1 回のトランザクションで運用マシンの変更を移行します。
デプロイの問題が発生した場合にロールバック スクリプトを作成するためのベスト プラクティスはありますか? 次のパターンを使用して手書きで書く前に:
- 新しい制約とインデックスを削除する
- テーブルを変更して新しい列を削除する
- 追加されたテーブルをドロップ
- トランザクションをコミットする
より良いアプローチはありますか?