【发布时间】:2013-04-24 19:29:47
【问题描述】:
猜我的问题很受欢迎,比如INFORMIX DB ROLLBACK,我们正在使用 DELPHI 和 SQL Server 在我们的数据库上开发长期运行的算法。如果这些程序失败,我们需要将数据库设置回初始状态。在服务器端分离数据库,从备份中恢复旧数据库,然后重新开始我们的程序测试。漫长而耗时的过程。
如果我的测试失败,我可以使用 Delphi 在数据库中设置保存点并从 Delphi 恢复数据库吗?
【问题讨论】:
-
您不能批量运行查询并提交它们吗?我曾经不得不做这样的事情,但这是复制大约 2000 万条记录。所以我所做的就是分块读取它们,完成需要的操作并进行多次插入,然后继续下一个块。唯一额外的事情是您需要识别最后插入的记录,这可以通过简单的比较来完成。也许还有别的东西,但这对你有用吗?
-
如果你在 Delphi 中使用
TADOConnection,你可以这样做:ADOConnection.BeginTrans; <your-Delphi-db-procedure>; ADOConnection.CommitTrans;。例外情况:ADOConnection.RollbackTrans.
标签: sql-server delphi