我一直在使用MSSQL 2005與Rails相當長的一段時間,並決定在我的項目中碰到我的寶石,遇到問題。從2.2.22升級到ActiveRecord-sqlserver-adapter到2.3.8,現在得到一個ODBC錯誤
我從2.2.22轉移到2.3.8(最新寫作)和突然的,我得到這個:
ODBC::Error: S1090 (0) [unixODBC][Driver Manager]Invalid string or buffer length
我使用的是freetds的DSN連接我database.yml
看起來像這樣:
adapter: sqlserver
mode: ODBC
dsn: 'DRIVER=FreeTDS;TDSVER=7.0;SERVER=10.0.0.5;DATABASE=db;Port=1433;UID=user;PWD=pwd;'
現在在同時,我搬回到2.2.22,並沒有廢棄警告,一切似乎不錯,但顯然對於被最新的緣故,任何想法可能已經在改變適配器這可能導致這種情況?
我不得不想知道爲什麼在實際使用ODBC時使用activerecord-sqlserver-adapter?我建議查看[這個頁面](http://odbc-rails.rubyforge.org/),它會引導你通過一個合適的ODBC設置來進行事務處理 - 這又會讓你改變你的Rails應用程序從SQL Server到任何其他ODBC可訪問的目標,當/如果這是可取的。正確編寫的ODBC客戶端應用程序在查詢中使用ODBC基元和轉義 - 並且*驅動程序*將它們定製到目標DBMS API。 Rails不應該關心你打的什麼DBMS。 – TallTed 2014-07-03 20:23:20