2015-12-21 192 views
1

在什么情况下,PDO rollBack()返回false? 我遇到了复杂的脚本与MS SQL 2008 R2数据库的工作,有时回滚(有问题)返回false,但我不能够启动一个新的事务,因为我会得到一个PDO回滚返回FALSE

Uncaught exception 'PDOException' with message 'There is already an active transaction' 

但是,如果我尝试发出另一个回滚()调用,我得到一个

Uncaught exception 'PDOException' with message 'There is no active transaction' 

我很困惑。

+0

你使用try/catch块(也许粘贴一些代码)? – Ukuser32

+0

不是。问题不会立即出现,只是经过多次迭代后才会出现,因此很难隔离一小段代码。顺便说一句我找到了解决方案 –

回答

1

问题在事务中使用的每个select语句之后使用closeCursor()解决。

问题并没有立即出现,只有在多次交易(3000+)之后。也许某种内存泄漏,现在顺便解决。

+1

这是一个有趣的问题。我会对研究细节感兴趣,因为这听起来像是一个难以调试的问题。 – steve