问题标签 [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.

0 投票
17 回答
62764 浏览

visual-studio-2008 - 如何回滚 TFS 签入?

我想回滚我最近在 TFS 中所做的更改。在 Subversion 中,这非常简单。然而,在 TFS 中这似乎是一个令人难以置信的头痛:

选项 1:获取先前版本

  1. 手动获取每个文件的先前版本
  2. 查看编辑
  3. 失败 - 结帐(在 VS2008 中)迫使我获取最新版本

选项 2:获取 TFS 电动工具

  1. 下载 Team Foundation 电动工具
  2. 从 cmd 行发出回滚命令
  3. 失败 - 如果有任何其他未决更改,它将不起作用

选项 3:手动撤消更改

  1. 手动撤消我的更改,然后提交一个新的变更集

问题

如何回滚到 TFS 中的先前变更集?

0 投票
7 回答
85534 浏览

sql - 在 BEGIN/END TRANSACTION 中执行存储过程

如果我在 SQL 中创建一个存储过程并EXEC spStoredProcedure在 BEGIN/END TRANSACTION 中调用它(),那么这个其他存储过程是否也属于该事务?

我不知道它是否像 C# 中的 try/catch 一样工作。

0 投票
7 回答
10407 浏览

sql - 仅具有选择的事务中的提交和回滚之间有区别吗?

我们在我公司使用的内部应用程序框架使得有必要将每个 SQL 查询放入事务中,即使我知道没有任何命令会在数据库中进行更改。在会话结束时,在关闭连接之前,我提交事务以正确关闭它。我想知道如果我回滚它是否有任何特别的区别,尤其是在速度方面。

请注意,我使用的是 Oracle,但我猜其他数据库也有类似的行为。此外,我对开始交易的要求无能为力,代码库的那部分不在我的掌控之中。

0 投票
3 回答
542 浏览

perl - 为什么回滚方法不能用于 DBI 句柄?

出于某种原因,我在使用 DBI 句柄时遇到了麻烦。基本上发生的事情是我在 perl 模块中创建了一个特殊的连接函数并从执行以下操作切换:

然后我做

现在由于某种原因,我不断收到错误消息:

无法通过 ../Foo.pm 第 171 行的包“Foo”找到对象方法“回滚”。

所以奇怪的是 $dbh 绝对不是 Foo,它只是在 foo 中定义的。无论如何,到目前为止,我还没有遇到任何麻烦。有什么想法吗?

编辑:@Axeman:connect原版中不存在。在我们刚刚使用这样的字符串之前:

connect像这样的东西

0 投票
3 回答
1516 浏览

sql - Sql Server 2000 中的回滚和更新命令

我错误地使用了更新命令来更新 Sql Server 2000 数据库中的整个表。我实际上的意思是只更新一行。现在所有 2000 行都包含更新。有没有办法回滚这个变化?

0 投票
2 回答
562 浏览

c# - .Net HtmlTextWriter 的异常安全/处理?

我正在使用 .NetHtmlTextWriter生成 HTML。

在此示例中,如果在 期间触发了错误异常myObject.GenerateHtml(),我将生成一个不错的错误 html,但它前面会带有一个span从不关闭的开始标记。

我可以像这样重构它

现在我的跨度没有打开,直到我完成了艰苦的工作,但这对我来说看起来很尴尬。有没有办法用 HtmlWriter 回滚?即使我不得不投入大量使用块。

我目前在 .Net 2.0 中工作,但可以讨论 3.5 中的解决方案。

0 投票
4 回答
27389 浏览

php - 如何在 PHP 中实现 MySQL 的提交/回滚?

好吧,基本上我有这个脚本需要很长时间才能执行,并且偶尔会超时并在我的数据库中留下半完整的数据。(是的,我知道在一个完美的世界里我会解决这个问题而不是实现提交和回滚,但我被迫不这样做)

这是我的基本代码(为简单起见而简化):

所以我的问题是,如果那个while循环中的整个过程没有完成,那么我不希望插入的行保留在那里。我认为以某种方式我可以在 while 循环的开头和结尾使用提交/回滚来执行此操作,但不知道如何操作。

0 投票
2 回答
1784 浏览

sql-server - ADO.NET 检查是否可以回滚

我问自己是否可以在 ADO.NET 中检查当前事务是否可以回滚。

msdn 建议以下实现:

另外还有一点需要注意:回滚事务时应始终使用 Try/Catch 异常处理。如果连接终止或事务已在服务器上回滚,则回滚会生成 InvalidOperationException。

但我真的不敢相信 try/catch 是检查是否可以回滚的推荐解决方案。

我知道在 SQL Server 实现中,如果事务是“僵尸”,则 SQLTransaction 对象在 Connection 属性上返回 null。

但这是非常具体的实现,它只适用于 SQL Server。

那么是否有一种独立于数据库的方法来检测事务是否可以回滚?

蒂亚·马丁

0 投票
3 回答
1703 浏览

sql-server-2005 - SQLTransaction 和 T-SQL 事务

我使用的是 .NET 2.0 和 SQL Server 2005。由于历史原因,应用程序代码使用 SQLTransaction,但一些存储过程也使用 T-SQL begin/commit/rollback tran 语句。这个想法是 DBTransaction 可以跨越许多存储过程,每个单独的 sproc 控制在其范围内发生的事情 - 实际上这些是嵌套事务。

代码的旧行为是,如果任何存储过程失败,应用程序逻辑也会导致外部 SQLTransaction 也回滚。但是现在我们想改变逻辑,这样,即使出现故障,外部事务也应该继续按顺序执行剩余的存储过程,最后,由于我们知道有故障,我们回滚整个 SQLTransaction。

问题在于,至少就目前的编码而言,如果任何存储过程执行 ROLLBACK,外部 SQLTransaction 似乎会丢失其连接,因此任何后续重用事务的尝试都会失败。有没有办法可以在 T-SQL 中回滚但仍保持外部 SQLTransaction?我在想也许保存点在这里可能会有所帮助,但我还不太了解它们。

使这种情况复杂化的是,并不总是有外部事务,所以我不能只删除 T-SQL 回滚,即。有时,sproc 会自行执行;有时在交易的背景下。

切换到 TransactionScope 会让事情变得更容易吗?

感谢您的任何建议......迈克

0 投票
5 回答
22297 浏览

sql - 创建 SQL Server 回滚脚本的最佳方法?

我正在对现有数据库进行一些架构更改。

我备份了数据库以获取开发副本,并进行了更改。我将创建一个单一的滚动脚本,以在单个事务中迁移生产机器上的更改。

是否有创建回滚脚本以防止出现部署问题的最佳实践?在我使用以下模式手动编写之前:

  • 删除新的约束和索引
  • 更改表以删除新列
  • 删除添加的表
  • 提交事务

有更好的方法吗?