2015-12-21 78 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