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

robbin · 2013年05月13日 · 最后由 ChileNeverDie 回复于 2020年02月25日 · 10535 次阅读

首发于自己的网站: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

啊哈,还没这么玩过。肉饼用 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

CloneIDEA 回复

大哥你能介绍下怎么用 win+sqlserver 搞定的吗?我现在是 AWS Ubuntu,想用 sqlserver

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