Ruby-ODBC事务语句不更新MSSQL中的表(Mac OSX)

时间:2016-11-08 15:51:42

标签: sql-server ruby macos freetds unixodbc

我已经使用unixODBC(2.3.4)成功安装了FreeTDS(1.00.15)并访问了MS SQL Server(2014)。我能够验证我目前遇到的问题不在于FreeTDS和unixODBC。这是因为从isql客户端提示符中,我能够执行select和update查询。

我正在使用带有ruby-odbc gem的Sinatra应用程序运行El Capitan OS X.

应用程序能够正确地从数据库中查询记录。但是,当我尝试运行一个触发更新语句的ruby方法时,在日志中它表示它是成功的,但是当我检查数据库时没有任何更新。这阻碍了ruby Web应用程序正确更新数据源。

新信息

所以我今天早上(11-11-2016)发现的是,如果在事务块中运行update语句,ruby-odbc将不起作用。但是,如果我注释掉该事务,它的工作完全正常并提交数据。这是OS X和Fedora之间代码处理的不同。

有没有人能解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果与使用FreeTDSPython的{​​{1}}类似,则您必须将PHP设置为连接选项的一部分。在此处搜索autocommit=True以获取更多详细信息:

http://www.ch-werner.de/rubyodbc/odbc.html

祝你好运!