Ruby调用Oracle存储过程


Ruby语言作为一中简单的编程语言被我们广泛的运用。在操作数据库方面更是能够充分体现其特点。在这里我们就为大家介绍Ruby调用Oracle存储过程的相关技巧。

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

  1. SQL> CREATE OR REPLACE PROCEDURE
     test(p1 in varchar2,p2 out varchar2 ) is  
  2. 2 BEGIN  
  3. 3 select p1||' PROCEDURE EXECUTED!
    ' into p2 from dual ;  
  4. 4 end;  
  5. 5 /  
  6. Procedure created  

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

  1. require 'dbi'  
  2. db_read_str = 'BEGIN test(?, ?); END;' 
  3. dbh = DBI.connect('DBI:OCI8:TNSDBNAME'
    , 'username', 'password')  
  4. sth_db = dbh.prepare(db_read_str)  
  5. sth_db.bind_param(1, 'test:',''*50) 
    # allow for up to 50 chars  
  6. sth_db.bind_param(2, ' ' * 100) # 
    allow for up to 100 chars  
  7. sth_db.execute  
  8. str = sth_db.func(:bind_value, 2)  
  9. puts str  
  10. dbh.disconnect 

Ruby调用Oracle存储过程3.检查Ruby语法错误:

  1. C:\>ruby -cw Call_proc_test.rb  
  2. Syntax OK  
  3. C:\>  

Ruby调用Oracle存储过程4.最后执行Ruby脚本:

  1. C:\>ruby Call_proc_test.rb  
  2. test: PROCEDURE EXECUTED!  
  3. C:\>  

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


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3