2016-11-08 2 views
1

unixODBC(2.3.4)でFreeTDS(1.00.15)をインストールし、MS SQL Server(2014)にアクセスしました。私が現在持っている問題がFreeTDSとunixODBCでないことを確認できました。これは、isqlクライアントのプロンプトから、selectクエリとupdateクエリの両方を実行できるためです。Ruby-ODBCトランザクション文がMSSQL(Mac OSX)のテーブルを更新しない

私はRuby-odbcの宝石を持っているSinatraアプリでEl Capitan OS Xを実行しています。

アプリケーションは、データベースからレコードを適切に照会できます。しかし、私は、更新ステートメントをトリガするルビーメソッドを実行しようとすると、ログには成功だと言われますが、データベースをチェックすると何も更新されていません。これは、データソースを正しく更新することからRuby Webアプリケーションを妨害しています。

新しい情報

それでは、私は今朝(2016年11月11日)を発見することは、更新文がトランザクションブロック内で実行されている場合、ルビー、ODBCが動作しないということです。しかし、私がトランザクションをコメントアウトすると、それは完璧に動作し、データをコミットします。これは、OS XとFedoraのコードの処理の違いです。

誰にもこの問題の解決策がありますか?

+0

このアプリケーションはすでにFedora 23で正常に動作しています。私はOSXでこのアプリケーションをネイティブに実行しようとしていますが、アプリケーション自体を変更せずに、このアプリケーションの所有者のために破棄します。 –

答えて

1

それはPythonまたはPHPFreeTDSを使用してのようなものであるならば、あなたはあなたの接続オプションの一部としてautocommit=True設定する必要があるとしています。詳細はこちらをautocommitを検索:

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

幸運を!

+0

このアプリケーションはすでにFedora 23で正常に動作しています。私はアプリケーション自体を変更することなくOSXでこのアプリケーションをネイティブに実行しようとしています。 –

関連する問題