因为工作需要,要分析存放在SQL Server上的数据,所以不得不研究一下如何使用Ruby访问SQL Server,发现其实还是很简单的:
安装FreeTDS
下载FreeTDS源代码
解压编译安装:
./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