linux - 二郎odbc : How to disable autocommit for oracle

标签 linux oracle erlang odbc

我需要在 Linux 中使用 erlang odbc 模块禁用 oracle 的自动提交。 我创建了代码连接:

{ok, Con} = odbc:connect("DSN=MyDSN", [{auto_commit, off}, {scrollable_cursors, off}]).

连接创建成功。当我尝试更新表时,请求成功,但它是自动提交的。我做错了什么?

最佳答案

好的,伙计们。我自己解决了这个问题。正如我之前在评论中所说,问题是 Linux 的 Oracle ODBC 驱动程序在连接创建之前的驱动程序初始化期间忽略了设置自动提交模式。在连接已经创建后,自动提交模式被正确设置。

我为 erlang odbc 模块创建了一个 C 源代码修复程序,现在它工作正常。你可以在这里得到我的 Erlang OTP 补丁 - https://github.com/RubberCthulhu/erlang-odbc-oracle-fix .

更新:这个消息来得太晚了,但在这里告知还是有用的。我对 Oracle ODBC 的修复已包含在 Erlang/OTP 中。因此,自 R16A 以来,问题并不实际,如果您需要将 ODBC 与 Oracle 一起使用,只需尝试最新版本的 Erlang/OTP。 R14B04-R15B02 的补丁可在此处获得 - https://github.com/RubberCthulhu/erlang-odbc-oracle-fix .

关于linux - 二郎odbc : How to disable autocommit for oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13026528/

相关文章:

Linux:每天午夜执行脚本并删除文件夹中除最新 20 个之外的所有文件

linux - Bluez 5.48 - 如何强制蓝牙传输状态从事件到空闲 - 嵌入式接收器端

oracle - 内部包的许可证?

Erlang:如何向自己发送handle_info消息?

syntax - 二郎 : variable 'Result' unsafe in 'try'

linux - 如何使用带有原始 header 的 wget(或 curl)复制请求?

php - 通过 PHP 编码执行 Linux-CentOS 命令行

sql - 如何在FROM中调用间接表

oracle - EJB 事务与 Oracle 事务

file - Erlang:如何获取当前文件光标位置