文章目錄
- 第一步,安裝FreeTDS
- 第二步, 安裝Tiny_TDS
- 第三步, 安裝 activerecord_sqlserver_adapter
- 第四步, 修改RoR項目根目錄下的Gemfile檔案,增加一下2句:
- 第五步,運行bundle install
- 第六步,修改database.yml
- 最後,大功告成
經過大半天的折騰,終於可以讓RoR在OS X系統裡訪問Sql Server資料庫了。這裡記錄一下操作的過程,免得以後忘了。
第一步,安裝FreeTDS
從FreeTDS的官網上下載最新的穩定版的壓縮包,然後,遵照這裡的說明進行手工編譯(好懷念微軟的Setup.exe和*.msi啊),其中只需要前7步:
1. Download the latest stable release of freetds.
2. Extract freetds tgz file within Downloads
3. Open terminal and cd to Downloads/freetds-0.** folder
4. run “./configure”
5. run “cp /usr/bin/glibtool libtool” <----Important!
6. run "sudo make"
7. run "sudo make install"
這樣,我們的FreeTDS就算是裝好了。
第二步, 安裝Tiny_TDS
就在命令列裡執行: gem install tiny_tds
不要問我gem從哪裡來的,google一下gem就會找到很多資訊。在OS X裡,gem是內建的。呵呵。
注意,如果沒有安裝FreeTDS的話,tiny_tds也肯定會安裝失敗,因為它依賴FreeTDS
第三步, 安裝 activerecord_sqlserver_adapter
同樣,只需要在命令列裡執行: gem install activerecord_sqlserver_adapter
第四步, 修改RoR項目根目錄下的Gemfile檔案,增加一下2句:
gem 'tiny_tds'
gem 'activerecord_sqlserver_adapter'
第五步,運行bundle install
在命令列裡運行 bundle install,運行完畢之後會輸出很多Using語句,看看tiny_tds和activerecord_sqlserver_adapter是否包含在裡面,應該都包含在裡面才正確。
第六步,修改database.yml
打來RoR項目根目錄下、config子目錄下的database.yml檔案,根據需要修改配置,比如:
development:
adapter: sqlserver
mode: dblib
dataserver: 10.4.30.77\Sql2005 # Name from freetds.conf, host or instance 'localhost\SQLEXPRESS'
host: 10.4.30.77 # Used if dataserver is blank.
port: 1433 # Used if host present. Default is 1433.
database: ALO_DB
username: db_user
password: xxxx
timeout: 5000
azure: false # for windows azure
最後,大功告成
可以建立model了: rails generate model MyShipper ShipperID:int ShipperName:string