我正在使用SQL Anywhere运行CodeIgniter 2(我有一个自定义类来处理与SAP DLL的连接)。
我对包含许多查询的事务有疑问。 其中之一是引发错误(尝试更新表时由触发器返回):在这种情况下,我希望在处理结束时回滚事务,如下所示。
setup(ext_modules=cythonize("module1.pyx", build_dir="build"), script_args=['build_ext'],
options={'build_ext':{'inplace':True}})
我尝试更改以下选项:
奇怪的是,我正在记录查询:在Interactive SQL中手动执行查询效果很好! 似乎引发的错误使事务中断。
有人可以帮我吗?
谢谢
答案 0 :(得分:0)
最后,我找到了解决方案:我们只需要使用SAP PHP的DLL(http://dcx.sap.com/index.html#sa160/en/dbprogramming/php-support.html)提供的某些功能。
使用:
开始交易sasql_set_option($ this-> conn_id,'auto_commit',0);
最后,如果您需要提交:
sasql_commit($ conn_id);
,如果需要回滚:
sasql_rollback($ conn_id); sasql_set_option($ conn_id,'auto_commit',1);