如何使用Ruby脚本调用Oracle存储过程

王朝oracle·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

使用Ruby脚本调用Oracle存储过程的示例:

1.首先创建Oracle存储过程test:

SQL> CREATE OR REPLACE PROCEDURE test(p1 in varchar2,p2 out varchar2 ) is

2 BEGIN

3 select p1||' PROCEDURE EXECUTED!' into p2 from dual ;

4 end;

5 /

Procedure created

2.再写Ruby脚本,调用存储过程test,脚本内容如下,将脚本保存为:Call_proc_test.rb:

require 'dbi'

db_read_str = 'BEGIN test(?, ?); END;'

dbh = DBI.connect('DBI:OCI8:TNSDBNAME', 'username', 'password')

sth_db = dbh.prepare(db_read_str)

sth_db.bind_param(1, 'test:',''*50) # allow for up to 50 chars

sth_db.bind_param(2, ' ' * 100) # allow for up to 100 chars

sth_db.execute

str = sth_db.func(:bind_value, 2)

puts str

dbh.disconnect

3.检查Ruby语法错误:

C:\>ruby -cw Call_proc_test.rb

Syntax OK

C:\>

4.最后执行Ruby脚本:

C:\>ruby Call_proc_test.rb

test: PROCEDURE EXECUTED!

C:\>

注释:如果是Windows环境下,大家也可以通过双击Call_proc_test.rb 文件来运行Ruby脚本。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航