Hysteria 发表于 2007-07-17 23:59

使用ODBC,如何实现BEGIN WORK?

我将SQL_ATTR_AUTOCOMMIT设置成SQL_AUTOCOMMIT_OFF不管用。

ivhb 发表于 2007-07-18 09:07

不需要begin的,
事务开始定义为
第一条操作语句开始,到第一个commit/rollback结束;或者是上一个commit/rollback后开始新的事务.... 如此循环。
SQL_ATTR_AUTOCOMMIT 是说把每个数据库操作语句都作为一个单独的事务。

Hysteria 发表于 2007-07-18 09:31

原帖由 ivhb 于 2007-7-18 09:07 发表 http://bbs.chinaunix.net/images/common/back.gif
不需要begin的,
事务开始定义为
第一条操作语句开始,到第一个commit/rollback结束;或者是上一个commit/rollback后开始新的事务.... 如此循环。
SQL_ATTR_AUTOCOMMIT 是说把每个数据库操作语句都作为一个单 ...

我需要显式事务,且Informix支持显式事务,而ODBC不支持。
如果我显式地执行BEGIN WORK,那么换成不支持显式事务的Oracle、DB2,就会报错。
昨晚查了一下文档,MS的SQL Server/Sybase也是支持显式事务的,而它自家的ODBC却无此支持,从文档上看,它自家也很恼火。
页: [1]
查看完整版本: 使用ODBC,如何实现BEGIN WORK?