通过OCI8接口连接Oracle数据库

数据库 Oracle
连接Oracle数据库有多种的方法,OCI8接口连接Oracle数据库就是其中之一,下面就让我们来一起来学习该方法是如何实现的。

连接Oracle数据库的方法很多,下面为您介绍了一个通过OCI8接口连接Oracle数据库的方法,希望对您学习连接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
安装成功后,验证是否连接Oracle数据库通过,方法如下:
#使用的时候一定要加载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函数后面是否需要配置参数,看项目需求了。如果你的项目数据库基本就是那么一个的话 就可以直接在里面定义了 

当然也可以传参数

数据库访问地址变化多的话 那就是要传参数了。。。

 

 

 

【编辑推荐】

使用oracle存储过程分页的实例

Oracle数据库备份的三个常见误区

定制正确的oracle备份策略

带您了解Oracle OS备份

Oracle EXP/IMP备份简介

责任编辑:段燃 来源: 互联网
相关推荐

2010-05-10 15:50:39

Oracle数据库性能

2010-10-26 15:21:11

连接Oracle数据库

2011-07-18 14:00:29

RailsOracle

2011-03-25 09:05:02

Oracle数据库共享连接专用连接

2010-10-26 15:54:02

连接oracle数据库

2010-10-26 16:27:37

连接Oracle数据库

2010-04-06 11:02:30

Oracle 数据库

2010-04-15 10:20:18

连接Oracle数据库

2010-10-26 16:07:45

连接oracle数据库

2010-05-05 15:45:52

Oracle数据库

2011-07-22 16:05:17

SDE服务Oracle数据库

2011-03-15 14:13:56

JDBCDB2数据库

2010-04-22 16:56:46

Oracle数据库

2009-07-23 09:31:56

数据库表连接方式

2019-12-17 08:39:21

Linuxwindowsoracle

2009-08-20 17:55:43

C#连接Oracle数

2018-01-04 10:43:43

OracleMysqlJava

2010-04-07 18:26:43

Oracle数据库

2010-04-08 18:45:35

Oracle数据库

2010-10-26 14:40:31

oracle存储过程
点赞
收藏

51CTO技术栈公众号