【发布时间】:2012-03-09 07:40:36
【问题描述】:
我正在尝试使用此 gem 连接到名为 Demand 的 SQL 服务器: https://github.com/rails-sqlserver/I'm
我正在遵循“Rails 食谱”一书中的食谱 #3 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
从 rails 控制台,当我测试与 Demand.connection 的连接时,我得到以下信息:
(我知道 addy 和 pw 很好,因为我目前通过 toad 连接,还创建了模型“Demand”,因此 rails 会有一个对象)
> 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
【问题讨论】:
-
一定要使用混合模式(使用服务器ip地址)认证吗?还是您可以选择使用 Windows 身份验证?
-
不能使用windows auth,是远程机器,其实我觉得是linux box,虚拟windows。你认为这是登录的问题吗?
标签: ruby-on-rails-3 sql-server-2008 activerecord sqlite