我一直在使用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