2011-04-24 57 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?

回答