欢迎来到天天文库
浏览记录
ID:33175295
大小:72.80 KB
页数:5页
时间:2019-02-21
《巧用ruby配备oracle数据库using ruby with oracle database》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、巧用Ruby配备Oracle数据库在使用Java时,有两种针对Oracle的常见驱动程序:纯Java(又叫做瘦)驱动程序和原生OCI驱动程序。在写作这篇文章的时候,还没有和基于JDBC的Java瘦驱动程序类似的纯Ruby驱动程序。要连接到Oracle,用户必须安装Ruby/Oracle调用接口(OCI8)库—一个基于Ruby/DBI(数据库接口模块)的数据库驱动程序。RubyDBI提供了一个与数据库无关的、类似于JDBC或ODBC的接口,来实现Ruby和数据库之间的交互。RubyOCI8驱动程序通过标准的Oracle客户端软件连接到Orac
2、le8到10的所有版本。OCI8是一个Ruby包装器,用本地C代码编写,实际的交互就由它来完成。非windows开发人员可以通过输入sudogeminstallruby-oci8来进行安装。Windows开发人员可以先从www.rubyforge.org/projects/ruby-oci8上下该载驱动程序的二进制版本,然后手动安装:rubyruby-oci8-0.1.16-mswin32.rb可以通过下面的命令行Ruby程序查询一个包含演示(HR)模式的数据库,简单检测您所下载的RubyOCI8驱动程序。替换下面命令中Oracle数据库的
3、名称和口令:setoracle_sid=xeruby-roci8-e"OCI8.new('hr','password').exec('SELECT*FROMjobsORDERBY1'){
4、r
5、puts r.join}" 如果连接和查询成功,输出应如下所示:AC_ACCOUNT
6、PublicAccountant
7、4200
8、9000AC_MGR
9、AccountingManager
10、8200
11、16000AD_ASST
12、AdministrationAssistant
13、3000
14、6000AD_PRES
15、President
16、20000
17、40000AD_
18、VP
19、AdministrationVicePresident
20、15000
21、30000FI_ACCOUNT
22、Accountant
23、4200
24、9000FI_MGR
25、FinanceManager
26、8200
27、16000HR_REP
28、HumanResourcesRepresentative
29、4000
30、9000IT_PROG
31、Programmer
32、4000
33、10000MK_MAN
34、MarketingManager
35、9000
36、15000MK_REP
37、MarketingRepresentative
38、4000
39、9000PR_REP
40、PublicRelatio
41、nsRepresentative
42、4500
43、10500PU_CLERK
44、PurchasingClerk
45、2500
46、5500PU_MAN
47、PurchasingManager
48、8000
49、15000SA_MAN
50、SalesManager
51、10000
52、20000SA_REP
53、SalesRepresentative
54、6000
55、12000SH_CLERK
56、ShippingClerk
57、2500
58、5500ST_CLERK
59、StockClerk
60、2000
61、5000ST_MAN
62、StockManager
63、5500
64、8500Rails配置Rails用于连接到数据
65、库的参数存放在您的Rails应用程序目录中的config/database.yml中。下面的例子引用了主机xe,它对应tnsnames.ora中的一项。使用了三种模式,分别用不同的用户名指定。development:adapter:ocihost:xeusername:developmentpassword:passwordtest:adapter:ocihostxeusername:testpassword:passwordproduction:adapter:ocihost:xeusername:productionpassword:p
66、assword也可以将OracleEasyConnectNaming和RubyOCI8驱动程序结合使用。用一个OracleEasy连接字符串替换主机字段中的SID,如下所示:development:adapter:ocihost://server:port/instance_nameusername:developmentpassword:password身份验证和大多数的三层应用程序体系结构一样,Rails假设使用一套证书(在database.yml中指定)对Oracle进行身份验证。指定的证书必须有足够的权限来执行Rails应用程序的任
67、何操作。如果出于安全的考虑,不想把证书以明文的形式包含在配置文件中,您可以利用database.yml允许通过ERb标记使用动态内容的特性。语法与使用标记将参数值插入Rails视
此文档下载收益归作者所有