この奇妙なエラーがあります。MSSQL2008R2とZendFw1.12を使用しています。
まず、try内でロールバックが失敗しませんでした。
// Zend_DB_Table Adapter
$adapter = Zend_Db_Table::getDefaultAdapter();
// Start Transaction
$adapter->beginTransaction();
try {
$adapter->rollBack();
return (int) 1;
} catch (Exception $e) {
throw new Api_Exception($e->getMessage(), $e->getCode(), $e);
}
しかし..ロールバックはキャッチ内で失敗しました..
はい、キャッチの内側に入るように、以下の試行で意図的にエラーを作成します。
// Zend_DB_Table Adapter
$adapter = Zend_Db_Table::getDefaultAdapter();
// Start Transaction
$adapter->beginTransaction();
try {
return (int) A;
} catch (Exception $e) {
$adapter->rollBack();
throw new Api_Exception($e->getMessage(), $e->getCode(), $e);
}
戻ります。Zend_Db_Adapter_Sqlsrv_Exception: A transaction must be started by calling sqlsrv_begin_transaction before calling sqlsrv_commit or sqlsrv_rollback.
手がかりはありますか?