2011-04-24 39 views
1

我想从没有ActiveRecord适配器的Rails应用程序连接到SQL Server。连接到没有ActiveRecord的SQL Server

我跟着回答this question。我安装了ruby-odbc gem并从ruby脚本连接到SQL Server没有任何问题。

db = DBI.connect('dbi:ODBC:ACUMENSERVER', 'login', 'password') 
select = db.prepare('SELECT * from customer WHERE id = 1') 
select.execute 
while rec = select.fetch do 
puts rec.to_s 
end 
db.disconnect 

但是,当我试图在Rails的控制器执行这段代码,错误发生:

{:forgery_whitelisted?=>"it is just an alias for 'get?' now, update your code"} is not a symbol 

/home/user/.rvm/gems/ruby-1.9.2-p136/gems/deprecated-2.0.1/lib/deprecated.rb 176 in `instance_method' 
/home/user/.rvm/gems/ruby-1.9.2-p136/gems/deprecated-2.0.1/lib/deprecated.rb 176 in `block in ' 

据我所知,deprecated宝石是由dbi要求。当我试图安装deprecated打包机的最新版本时: Bundler could not find compatible versions for gem "deprecated": dbi depends on deprecated (= 2.0.1)

这是怎么回事?如何在没有Active Record的情况下从Rails 3连接到SQL Server?

回答