Ruby Ruby 访问 SQL Server 数据库的简单配置

robbin · 2013年05月13日 · 最后由 samchueng 回复于 2013年12月24日 · 9071 次阅读

首发于自己的网站:Ruby访问SQL Server数据库的简单配置

因为工作需要,要分析存放在SQL Server上的数据,所以不得不研究一下如何使用Ruby访问SQL Server,发现其实还是很简单的:

安装FreeTDS

我参考的是FreeTDS 安装这个教程:

  1. 下载FreeTDS源代码
  2. 解压编译安装:

    ./configure --prefix=/usr/local/freetds && make && sudo make install

安装Tiny_TDS

我看Mac OS X 上 Ruby 连接 SQL Server这篇文章介绍,还需要安装unixODBC,DBI,DBI-ODBC等等,安装和配置起来超麻烦,还需要配置FreeTDS,我果断的放弃了。我找到了一个新的项目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

共收到 11 条回复

啊哈,还没这么玩过。肉饼用sql server做什么啦

我还有些系统是ASP的……

收藏下,国内MS的东西多,说不定那天会碰上的。

嗯,不知道用 sequel 可以不可以 :)

收藏+1

6楼 已删除

哎,之前弄过这个,后来实在是受不了这个折磨,最后用的jruby+jdbc

在mac下没有配过。 rails2下配过,不过当时配的还是有些折磨人。今年三月份生活所迫又配了一回win+rails3+SqlServer,不过有了railsinstaller 这回就so Easy。

回想起以前的Windows 作为生产机器连SQLServer就头痛, 跑了2个月, 几乎每周都有问题, 客户和我的都很无奈, 最后,一咬牙, 回到 linux+mysql 天下太平鸟

请问tiny_tds支持SSL连接SQL Server吗?

今天刚好也遇到这个问题,需要ubuntu的服务器上连接客户的远程SQL Server,但按robbin上述的方法在Mac和Ubuntu 12.04上安装都不成功。最终找到以下安装方法,解决了,希望对其他人有用。

Mac 请参考 这里 https://gist.github.com/sixfeetover/565440

ubuntu 12.04 sudo aptitude install ruby1.9.1-dev sudo apt-get install unixodbc unixodbc-dev freetds-dev tdsodbc sudo gem install tiny_tds

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册