因為工作需要,要分析存放在SQL Server上的資料,所以不得不研究一下如何使用Ruby訪問SQL Server,發現其實還是很簡單的:
安裝FreeTDS
1.下載FreeTDS原始碼
2.解壓編譯安裝:
| 代碼如下 |
複製代碼 |
./configure --prefix=/usr/local/freetds && make && sudo make install |
安裝Tiny_TDS
Tiny_TDS,安裝和使用非常簡單,推薦使用:
| 代碼如下 |
複製代碼 |
sudo gem install tiny_tds -- --with-freetds-dir=/usr/local/freetds
|
用tiny_tds訪問SQL Server很簡單:
| 代碼如下 |
複製代碼 |
require 'tiny_tds' client = TinyTds::Client.new(:username => 'fankai', :password => 'fankai', :host => '192.168.0.1', :database => 'test') result = client.execute("select top 10 * from User"); result.each do |row| puts row end |
在ActiveRecord上使用Tiny_TDS
這也非常簡單,參考這個教程Using TinyTDS:
| 代碼如下 |
複製代碼 |
gem install activerecord-sqlserver-adapter
|
配置database.yml如下:
| 代碼如下 |
複製代碼 |
development: adapter: sqlserver host: mydb.net database: myapp_development username: sa password: secret |
小提示,如果你覺得配置麻煩可以使用微軟官方有ODBC驅動,地址如下:http://www.microsoft.com/en-us/download/details.aspx?id=28160
自己去研究一下吧。