2010-12-20 393 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