2012-03-09 37 views
1

我試圖用這個寶石連接到SQL服務器名爲需求: https://github.com/rails-sqlserver/I「米連接到多個Rails的DB,sqlite3的和SQLServer 2008

我從書中以下配方#3」 Rails的食譜「http://pragprog.com/book/rr2/rails-recipes

這是我的database.yml文件:

demand: 
    adapter: sqlserver 
    host: 172.21.148.01 
    port: 1433 
    database: Demand 
    username: DEapp 
    password: @pp1user 
    timeout: 5000 

從鐵軌控制檯,當我測試與Demand.connection連接我得到以下幾點: (我知道個Ë阿迪和PW都不錯,因爲我通過蟾蜍連接目前,還創建了模型「需求」這樣的軌道將有一個對象)

> TinyTds::Error: Login failed for user ‘DEapp’. from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/tiny_tds-0.5.1/lib/tiny_tds/client.rb:68:in 
> `connect’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/tiny_tds-0.5.1/lib/tiny_tds/client.rb:68:in 
> `initialize’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-sqlserver-adapter-3.1.6/lib/active_record/connection_adapters/sqlserver_adapter.rb:400:in 
> `new’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-sqlserver-adapter-3.1.6/lib/active_record/connection_adapters/sqlserver_adapter.rb:400:in 
> `connect’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-sqlserver-adapter-3.1.6/lib/active_record/connection_adapters/sqlserver_adapter.rb:198:in 
> `initialize’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-sqlserver-adapter-3.1.6/lib/active_record/connection_adapters/sqlserver_adapter.rb:35:in `new’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-sqlserver-adapter-3.1.6/lib/active_record/connection_adapters/sqlserver_adapter.rb:35:in `sqlserver_connection’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:304:in 
> `new_connection’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:323:in 
> `checkout_new_connection’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in 
> `block (2 levels) in checkout’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:261:in 
> `loop’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:261:in 
> `block in checkout’ from 
> /Users/drewgilliam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in 
> `mon_synchronize’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:260:in 
> `checkout’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:162:in 
> `connection’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:409:in 
> `retrieve_connection’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:115:in 
> `retrieve_connection’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:89:in `connection’ from (irb):11 from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/commands/console.rb:45:in 
> `start’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/commands/console.rb:8:in 
> `start’ from 
> /Users/drewgilliam/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/commands.rb:40:in 
> `‘ from script/rails:6:in `require’ 

任何幫助嗎?這裏的實用主義程序員論壇,如果你可以回答有作爲:http://forums.pragprog.com/forums/189/topics/10476

+0

您是否必須使用混合模式(使用服務器IP地址)身份驗證?或者你有選擇使用Windows身份驗證? – Shaunak 2012-03-09 07:58:02

+0

不能使用Windows身份驗證,它是一個遠程機器,實際上我認爲它是一個Linux機箱,虛擬窗口。你認爲這是登錄問題嗎? – wantrapreneur 2012-03-09 17:24:25

回答

1

我發現因爲外部數據庫用戶口令開始與@標誌,護欄不樂意了,因爲它認爲這是和實例變量。

我改變了PW不開始@和它連接得很好。

Drews-MacBook-Air:DE_App drewgilliam$ rails console 
Loading development environment (Rails 3.1.3) 
1.9.2p290 :001 > Externaldb.connection 
    EXECUTE (36.7ms) USE [DemandEstimator] 
=> #<ActiveRecord::ConnectionAdapters::SQLServerAdapter version: 3.1.6, year: 2008, product_level: "SP1", product_version: "10.50.2500.0", edition: "Enterprise Edition (64-bit)", connection_options: {:adapter=>"sqlserver", :host=>"172.21.148.01", :port=>1433, :database=>"DemandEstimator", :username=>"DEapp", :password=>"demand_app_user", :timeout=>5000, :mode=>:dblib}> 
1.9.2p290 :002 >