当前位置: 首页 > 工具软件 > DBD-ODBC > 使用案例 >

Ruby DBI ODBC环境终于搞定了。

商高谊
2023-12-01
我的ruby版本是: ruby 1.9.2p136 (2010-12-25) [i386-mingw32]

第一步,安装 dbd-odbc
gem install dbd-odbc
第二步,安装 dbi
gem install dbi
第三步, 安装 ruby-odbc
gem install ruby-odbc
这一步有可能会报如下错误:
C:\Documents and Settings\Administrator>gem install ruby-odbc
Fetching: ruby-odbc-0.99994.gem (100%)
ERROR: Error installing ruby-odbc:
The 'ruby-odbc' native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'

这时,只需去github下载DevKit并按照要求安装就可以了。接下来,再次执行第三步的安装就可以了。

第三步安装完成后,打开irb,输入:
require 'dbi'
conn = DBI.connect('dbi:ODBC:yourds','username','password')

就可以了。

我是一个ruby的初学者,之前知道安装dbi来进行数据库访问,于是就只安装了dbi。但是根本运行不了。于是又安装了dbd-odbc. 还是不能运行,根据error stack trace提示的代码和行号,我发现问题在于dbi.rb的一行require "dbc/#{driver_name}". 此处的driver_name是我们在调用DBI.connect时输入的dbi:后面的部分。在我这里就是ODBC。

所以,原因就是加载dbd/ODBC时失败。我安装了dbd所以我很奇怪为什么会失败。于是我直接在irb中输入
require 'dbd/ODBC'

结果提示ODBC.rb的34行,也就是require 'odbc'失败了。

所以我运行gem install ruby-odbc,也就是前文提到的第三步。
安装完ruby-odbc后,我的程序就能运行了。很爽。

我知道,ruby还有其他更好的方式来访问数据库。我这里罗嗦了这么多,是因为我google了更多而没有找到更详细的资料来指导我的菜鸟之路。希望我的啰嗦能够给其他和我一样菜的人以帮助。

更多的是,希望自己能够记住在ruby中处理问题的方式。以便后来少走弯路。

这里还要感谢一篇文章: How to Connect Ruby to SQL Server from Linux and Unix http://www.easysoft.com/developer/languages/ruby/rails.html#example
 类似资料: