了解如何从一个 Rails 应用程序连接到 Oracle 和与其相关的验证和性能问题……
在使用 Java 时,有两种针对 Oracle 的常见驱动程序:纯 Java (又叫做瘦)驱动程序和原生 OCI 驱动程序。在写作这篇文章的时候,还没有和基于 JDBC 的 Java 瘦驱动程序类似的纯 Ruby 驱动程序。
要连接到 Oracle,用户必须安装 Ruby/Oracle 调用接口 (OCI8) 库 — 一个基于 Ruby/DBI (数据库接口模块)的数据库驱动程序。RubyDBI 提供了一个与数据库无关的、类似于 JDBC 或 ODBC 的接口,来实现 Ruby 和数据库之间的交互。Ruby OCI8 驱动程序通过标准的 Oracle 客户端软件连接到 Oracle 8 到 10 的所有版本。OCI8 是一个 Ruby 包装器,用本地 C 代码编写,实际的交互就由它来完成。
非 windows 开发人员可以通过输入 sudo gem install ruby-oci8 来进行安装。Windows 开发人员可以先从 www.rubyforge.org/projects/ruby-oci8 上下该载驱动程序的二进制版本,然后手动安装:
ruby ruby-oci8-0.1.16-mswin32.rb
可以通过下面的命令行 Ruby 程序查询一个包含演示 (HR) 模式的数据库,简单检测您所下载的 Ruby OCI8 驱动程序。替换下面命令中 Oracle 数据库的名称和口令:
set oracle_sid=xe
ruby -r oci8 -e "OCI8.new('hr', 'password').exec('SELECT * FROM jobs ORDER BY 1') {|r| puts r.join}"
如果连接和查询成功,输出应如下所示:
AC_ACCOUNT | Public Accountant | 4200 | 9000
AC_MGR | Accounting Manager | 8200 | 16000
AD_ASST | Administration Assistant | 3000 | 6000
AD_PRES | President | 20000 | 40000
AD_VP | Administration Vice President | 15000 | 30000
FI_ACCOUNT | Accountant | 4200 | 9000
FI_MGR | Finance Manager | 8200 | 16000
HR_REP | Human Resources Representative | 4000 | 9000
IT_PROG | Programmer | 4000 | 10000
MK_MAN | Marketing Manager | 9000 | 15000
MK_REP | Marketing Representative | 4000 | 9000
PR_REP | Public Relations Representative | 4500 | 10500
PU_CLERK | Purchasing Clerk | 2500 | 5500
PU_MAN | Purchasing Manager | 8000 | 15000
SA_MAN | Sales Manager | 10000 | 20000
SA_REP | Sales Representative | 6000 | 12000
SH_CLERK | Shipping Clerk | 2500 | 5500
ST_CLERK | Stock Clerk | 2000 | 5000
ST_MAN | Stock Manager | 5500 | 8500
上一篇 公共MySQL的数据库服务器层
阅读推荐
相关文章