我知道 ODBC 库有一个 commit/2 和 commit/3,但我不确定我是否正确解释了它的使用。
如果我执行以下操作
- 使用 {auto_commit, off} 属性创建会话
- 然后执行一系列单独的 sql_query/2 SELECT 语句(不是批处理语句,而是单独调用 sql_query/2)
- 然后是 commit/2
选择是否在保证 ACID 属性的单个事务中完成?
似乎 unixodbc-oracle 驱动程序有问题,即在创建连接期间它没有正确设置 auto_commit 属性。您可以应用https://github.com/brb/otp/commit/111f3c091d5f1e9214d2e7cfbd73400b6602a0ed更改,让您在建立连接后更改 auto_commit 模式。