|
|
|
|
移动端

2.6.3 Perl:使用Perl DBI和DBD::Oracle

《Oracle PL/SQL程序设计(第6版)(上下册)》第2章创建和运行PL/SQL代码,本章将展示如何在一个最基本的层面上(使用SQL*Plus)完成上述任务,同时对这些细小差别进行大致的讲述。本节为大家介绍Perl:使用Perl DBI和DBD::Oracle。

作者:方鑫 译来源:人民邮电出版社|2017-09-06 20:19

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.6.3 Perl:使用Perl DBI和DBD::Oracle

Perl是所有开源代码的源头,系统管理员社区的至爱。Perl的当前版本是5.10,无处不在,无所不能。它还有一个帅呆了的自动配置工具,叫作CPAN(Comprehensive Perl Archive Network),它是安装社区提供的模块的安装纽带,如Database Interface(DBI)和对应Oracle驱动的DBD::Oracle:

  1. /* File on web: callbooktitle.pl */  
  2. #!/usr/bin/perl  
  3. use strict;  
  4. use DBI qw(:sql_types);  
  5. # either make the connection or die  
  6. my $dbh = DBI->connect(  
  7. 'dbi:Oracle:o92',  
  8. 'scott',  
  9. 'tiger',  
  10. {  
  11. RaiseError => 1,  
  12. AutoCommit => 0  
  13. }  
  14. ) || die "Database connection not made: $DBI::errstr";  
  15. my $retval;  
  16. # make parse call to Oracle, get statement handle  
  17. eval {  
  18. my $func = $dbh->prepare(q{  
  19. BEGIN  
  20. :retval :booktitle(isbn_in => :bind1);  
  21. END;  
  22. });  
  23. # bind the parameters and execute  
  24. $func->bind_param(":bind1", "0-596-00180-0");  
  25. $func->bind_param_inout(":retval", \$retval, SQL_VARCHAR);  
  26. $func->execute;  
  27. };  
  28. if( $@ ) {  
  29. warn "Execution of stored procedure failed: $DBI::errstr\n";  
  30. $dbh->rollback;  
  31. } else {  
  32. print "Stored procedure returned: $retval\n";  
  33. }  
  34. # don't forget to disconnect  
  35. $dbh->disconnect; 

Perl是一种易写难读的语言,它不是那种特别快速小巧的语言,但其编译的版本,至少能够解决速度慢的问题。

如果想要了解更多Perl和Oracle接口的信息,可以参阅Programming the Perl DBI(作者是Alligator Descartes和Tim Bunce)。关于Perl语言本身,也有不少好书,包括在线信息perl.com(一个属于O’Reilly的网站)、perl.org和cpan.org。

喜欢的朋友可以添加我们的微信账号:

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SUN Solaris 9/10系统管理员认证指南

本书专门根据SUN官方的SCSA for Solaris 9&10考试大纲撰写而成,全面覆盖了SCSA for Solaris 9/10的认证考点,除此之外本书还有大量的非考...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊