ruby连接数据库 oracle的方法之一:OCI8
来源:互联网 发布:酒神精神 知乎 编辑:程序博客网 时间:2024/06/06 04:44
ruby-oci8 是 Ruby 使用 Oracle 的 OCI8 接口连接 Oracle 数据库的接口。
如果你是是有那个PL/SQL程序的话,就可以顺利的执行以下的步骤了,因为oci8会使用tnsname中的配置通过PL/SQL访问数据库
a 使用该命令直接安装:gem install ruby-oci8
b 下载文件:http://rubyforge.org/projects/ruby-oci8/
B1.下载文件: ruby-oci8-1.0.6-mswin32.rb
下载到本地后通过命令 执行rb文件:ruby ruby-oci8-1.0.6-mswin32.rb
B2. 下载文件:ruby-oci8-1.0.6-x86-mswin32-60.gem
............................... N多安装方式
最新文件如下:
ruby-oci8-1.0.6-mswin.rb 56 KB 1,989 i386 Other
ruby-oci8-1.0.6-x86-mswin32-60.gem 112 KB 780 i386 .gem (RubyGem)
ruby-oci8-1.0.6.gem 116 KB 798 Any .gem (RubyGem)
ruby-oci8-1.0.6.tar.gz
安装成功后,验证是否连接通过,方法如下:
#使用的时候一定要加载oci8
require 'oci8'
#创建连接
conn = OCI8.new("用户名", "密码","oracle服务器名称")
a =[]
#执行查询操作
cursor = conn.exec('select * from 表名') { |r| a<<r; puts r.join('')}
puts r.join('') 主要是输出样式的问题 可以使用 puts r.to_s
函数用法如下:
1)OCI8.new
OCI8.new(userid, password, dbname = nil, privilege = nil)
connect to Oracle by userid and password. dbname is the connect string of Net8.
If you need DBA privilege, please set privilege as :SYSDBA or :SYSOPER.
If the Oracle client is 10g or later, you can use "//hostname_or_ip:port_no/oracle_sid" as dbname.
# sqlplus scott/tiger
conn = OCI8.new("scott", "tiger")
# sqlplus scott/tiger@orcl.world
conn = OCI8.new("scott", "tiger", "orcl.world")
# sqlplus 'sys/change_on_install as sysdba'
conn = OCI8.new("sys", "change_on_install", nil, :SYSDBA)
# sqlplus scott/tiger@//oracle_db.example.com/XE
conn = OCI8.new("scott", "tiger", "//oracle_db.example.com/XE")
2)exec
exec(sql, *bindvars)
如果你没有配置PL/SQL 没有本地的tnsname 后者不想使用本地的TNSname 就可以直自己去定义个函数:
def open_connection
tnsnames = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = somehost.somedomain.com)(PORT = 1521)) (CONNECT_DATA = (SID = some_sid)))'
connection = OCI8.new('your_username', 'your_password', tnsnames)
end
至于open_connection函数后面是否需要配置参数,看项目需求了。如果你的项目数据库基本就是那么一个的话 就可以直接在里面定义了
呵呵当然也可以传参数
数据库访问地址变化多的话 那就是要传参数了。。。
原帖连接http://bbs.51testing.com/thread-170690-1-1.html
- ruby连接数据库 oracle的方法之一:OCI8
- Windows PHP/phpStudy 连接 甲骨文Oracle 数据库 oci8
- Windows PHP/phpStudy 连接 甲骨文Oracle 数据库 oci8
- PHP oci8连接oracle数据库出现"ORA-24408: could not generate unique server group name"的解决办法
- rails gem 安装oci8 oracle数据库驱动
- Ruby on Rails 连接 Oracle 数据库实践
- Ruby on Rails 连接 Oracle 数据库实践
- Ruby on Rails连接Oracle数据库实践
- Oracle数据库的连接方式之一:NESTED LOOPS join
- 配置 Linux上的OCI8 用 Linux 上的PHP 访问 Oracle数据库
- Oracle自带的一个Oci8例子
- Java连接Oracle数据库的各种方法
- SqlServer,Access,Oracle连接数据库的方法
- java中连接oracle数据库的方法
- Java连接Oracle数据库的各种方法
- C#中oracle数据库的连接方法
- 使用PLsql连接Oracle数据库的方法
- asp.net连接oracle数据库的方法
- Are You Busy or Productive?
- C# 获取CPU序列号
- 中缀表达式转化为后缀表达式(栈的应用)
- Android Build 系统
- 非常详细到window7下安装ubuntu系统讲解,好东东
- ruby连接数据库 oracle的方法之一:OCI8
- sama5d3系列市面现有板卡
- 资深程序员:程序员的困境
- Wireshark 高级特性
- 安装Perl报I can't find make or gmake, and my life depends on it解决方法
- hdu 4604 Deque
- HDU_1176 免费馅饼
- bnu_4060 Plants vs. Zombies
- java readlock实例2