Perl连接Oracle数据库的一些操作脚本【转】

一、 perl连接Oracle数据库

[plain]  view plain copy
  1. [oracle@oracle11gR2 perl_script]$ more connect.pl   
  2. #!/usr/bin/perl  
  3. #perl script used to connect to Oracle  
  4. use strict;  
  5. use DBI;  
  6.   
  7. my $tnsname="ora11gR2";  
  8. my $username="scott";  
  9. my $password="tiger";  
  10.   
  11. my $dbh=DBI->connect("dbi:Oracle:$tnsname", $username, $password) or die "Cannot conenct db: $DBI::errstr\n";  
  12. print "I have connected to the Oracle database!\n";  
  13.   
  14. $dbh->disconnect or warn "DB disconnect failed: $DBI::errstr\n";  
  15. print "Disconnected from Oracle databae!\n";  
  16.   
  17. [oracle@oracle11gR2 perl_script]$ ./connect.pl   
  18. I have connected to the Oracle database!  
  19. Disconnected from Oracle databae!  

二、向数据库插入数据
[plain]  view plain copy
  1. [oracle@oracle11gR2 perl_script]$ more insert.pl   
  2. #!/usr/bin/perl  
  3. # this code is used to insert data to Oracle Database  
  4.   
  5. use strict;  
  6. use DBI;  
  7.   
  8. my $id = 2;  
  9. my $name = "denver";  
  10.   
  11. my $dbh = DBI->connect("dbi:Oracle:ora11gR2", "test","test") or die " Cannot connect db: $DBI::errstr\n";  
  12.   
  13. my $sql = qq{INSERT INTO m VALUES(?,?)};  
  14. my $sth = $dbh->prepare($sql);  
  15. $sth->execute($id, $name);  
  16.   
  17. print "I have inserted the record!\n";  
  18.   
  19. $dbh->disconnect or warn "DB disconnect failed: $DBI::errstr\n";  
  20.   
  21. [oracle@oracle11gR2 perl_script]$ ./insert.pl   
  22. I have inserted the record!  
  23. [oracle@oracle11gR2 perl_script]$   

三、删除数据


[plain]  view plain copy
  1. [oracle@oracle11gR2 perl_script]$ more delete.pl   
  2. #!/usr/bin/perl  
  3. # Delete Data From Oracle Database  
  4.   
  5. use strict;  
  6. use DBI;  
  7.   
  8. my $id=2;  
  9.   
  10. my $dbh = DBI->connect("dbi:Oracle:ora11gR2", "test", "test") or die "Cannot connect db: $DBI::errstr\n";  
  11.   
  12. my $sql = qq{DELETE FROM m WHERE id=$id};  
  13. my $sth = $dbh->prepare($sql);  
  14. $sth->execute();  
  15. print "I have deleted the record!\n";  
  16.   
  17. $dbh->disconnect or warn "DB disconnect failed:$DBI::errstr\n";  
  18.   
  19. [oracle@oracle11gR2 perl_script]$ ./delete.pl   
  20. I have deleted the record!  

四、查询
[plain]  view plain copy
  1. [oracle@oracle11gR2 perl_script]$ more select.pl   
  2. #!/usr/bin/perl  
  3. # Here is an example code piece to select data from Oracle  
  4.   
  5. use strict;  
  6. use DBI;  
  7.   
  8. my $host = "localhost";  
  9. my $sid = "denver";  
  10.   
  11. my $dbh = DBI->connect("dbi:Oracle:ora11gR2", "test", "test") or die "Cannot connect db:$DBI::errstr\n";  
  12. print "I have connected to the Oracle 11g R2 database!\n";  
  13.   
  14. my $sql = qq{SELECT id, name FROM m};  
  15. my $sth = $dbh->prepare($sql);  
  16. $sth->execute();  
  17.   
  18. my ($pid, $pname); #declare columns  
  19. $sth->bind_columns(undef, \$pid, \$pname);  
  20. print "The results are:\n\n";  
  21. while ( $sth->fetch() ) { #fetch rows from DataBase  
  22.         print "ID:$pid, --- NAME:$pname\n";  
  23. }  
  24. $sth->finish();  
  25.   
  26. $dbh->disconnect or warn "DB disconnect failed: $DBI::errstr\n";  
  27. [oracle@oracle11gR2 perl_script]$ ./select.pl   
  28. I have connected to the Oracle 11g R2 database!  
  29. The results are:  
  30.   
  31. ID:0, --- NAME:**e  
  32. ID:1, --- NAME:**e  
  33. [oracle@oracle11gR2 perl_script]$   

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7191998/viewspace-752675/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7191998/viewspace-752675/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值