设为首页 收藏本站
查看: 901|回复: 0

[经验分享] Perl操作Oracle

[复制链接]

尚未签到

发表于 2015-12-27 12:40:42 | 显示全部楼层 |阅读模式
  一、 perl连接Oracle数据库



[plain] view plaincopy

  • [oracle@oracle11gR2 perl_script]$ more connect.pl
  • #!/usr/bin/perl
  • #perl script used to connect to Oracle
  • use strict;
  • use DBI;

  • my $tnsname="ora11gR2";
  • my $username="scott";
  • my $password="tiger";

  • my $dbh=DBI->connect("dbi:Oracle:$tnsname", $username, $password) or die "Cannot conenct db: $DBI::errstr\n";
  • print "I have connected to the Oracle database!\n";

  • $dbh->disconnect or warn "DB disconnect failed: $DBI::errstr\n";
  • print "Disconnected from Oracle databae!\n";

  • [oracle@oracle11gR2 perl_script]$ ./connect.pl
  • I have connected to the Oracle database!
  • Disconnected from Oracle databae!
  
二、向数据库插入数据



[plain] view plaincopy

  • [oracle@oracle11gR2 perl_script]$ more insert.pl
  • #!/usr/bin/perl
  • # this code is used to insert data to Oracle Database

  • use strict;
  • use DBI;

  • my $id = 2;
  • my $name = "denver";

  • my $dbh = DBI->connect("dbi:Oracle:ora11gR2", "test","test") or die " Cannot connect db: $DBI::errstr\n";

  • my $sql = qq{INSERT INTO m VALUES(?,?)};
  • my $sth = $dbh->prepare($sql);
  • $sth->execute($id, $name);

  • print "I have inserted the record!\n";

  • $dbh->disconnect or warn "DB disconnect failed: $DBI::errstr\n";

  • [oracle@oracle11gR2 perl_script]$ ./insert.pl
  • I have inserted the record!
  • [oracle@oracle11gR2 perl_script]$
  
三、删除数据

  



[plain] view plaincopy

  • [oracle@oracle11gR2 perl_script]$ more delete.pl
  • #!/usr/bin/perl
  • # Delete Data From Oracle Database

  • use strict;
  • use DBI;

  • my $id=2;

  • my $dbh = DBI->connect("dbi:Oracle:ora11gR2", "test", "test") or die "Cannot connect db: $DBI::errstr\n";

  • my $sql = qq{DELETE FROM m WHERE id=$id};
  • my $sth = $dbh->prepare($sql);
  • $sth->execute();
  • print "I have deleted the record!\n";

  • $dbh->disconnect or warn "DB disconnect failed:$DBI::errstr\n";

  • [oracle@oracle11gR2 perl_script]$ ./delete.pl
  • I have deleted the record!
  
四、查询



[plain] view plaincopy

    • [oracle@oracle11gR2 perl_script]$ more select.pl
    • #!/usr/bin/perl
    • # Here is an example code piece to select data from Oracle

    • use strict;
    • use DBI;

    • my $host = "localhost";
    • my $sid = "denver";

    • my $dbh = DBI->connect("dbi:Oracle:ora11gR2", "test", "test") or die "Cannot connect db:$DBI::errstr\n";
    • print "I have connected to the Oracle 11g R2 database!\n";

    • my $sql = qq{SELECT id, name FROM m};
    • my $sth = $dbh->prepare($sql);
    • $sth->execute();

    • my ($pid, $pname); #declare columns
    • $sth->bind_columns(undef, \$pid, \$pname);
    • print "The results are:\n\n";
    • while ( $sth->fetch() ) { #fetch rows from DataBase
    •         print "ID:$pid, --- NAME:$pname\n";
    • }
    • $sth->finish();

    • $dbh->disconnect or warn "DB disconnect failed: $DBI::errstr\n";
    • [oracle@oracle11gR2 perl_script]$ ./select.pl
    • I have connected to the Oracle 11g R2 database!
    • The results are:

    • ID:0, --- NAME:**e
    • ID:1, --- NAME:**e
    • [oracle@oracle11gR2 perl_script]$


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-156942-1-1.html 上篇帖子: Perl中关于数组的输出——需要注意的地方 下篇帖子: Fedora samba安装报错perl(Convert::ASN1)问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表