2010-12-20 64 views
2


我一直在试图让我的rails程序访问在另一台机器上设置的现有sql express服务器。我已经按照这些说明:GitHub和设置我的database.yml象这样:SQL Server with Rails

development: 
adapter: sqlserver 
mode: odbc 
dns: Provider=SQLOLEDB;Data Source=MACHINENAME\SQLEXPRESS;UID=xxxx;PWD=xxxxx;Application Name=atlas 
timeout: 5000 

现在,当我试图运行脚本/控制台(或服务器或其他)我得到这个错误:

/var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:440:in `load_missing_constant':NameError: uninitialized constant ActiveRecord::WrappedDatabaseException 

我试过Google搜索和来回更改设置,但我已经空白了。我在做一件非常错误的事情吗?

BR,
SG

+0

我知道Rails 3有很多改进,尤其是在ActiveRecord领域。可能值得尝试使用该版本以查看它是否有效。 – tadman 2010-12-20 17:49:59

回答

2

我只能用Rails 3.0.3与2005年SQLServer的说,所以我希望可以帮助您一点。

我已经添加到了我的Gemfile

gem 'ruby-odbc', '0.99991', :require => 'odbc' 
gem 'activerecord-sqlserver-adapter', :branch => "arel2", 
    :git => "git://github.com/rails-sqlserver/activerecord-sqlserver-adapter" 

在我config/database.yml使用:

test: 
    adapter: sqlserver 
    mode: ODBC 
    dsn: my_app_test 
    username: [USERNAME] 
    password: [PASSWORD] 

的DSN在别处配置,但它是无处一样复杂你的。我遵循这些指示:http://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Platform-Installation---Ubuntu

+0

谢谢,采取了一些调整,但我最终得到它的工作。决定使用3.0.3,这比试图让2.3.8工作更容易;) – 2010-12-22 14:12:53