博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Perl操作Oracle
阅读量:7237 次
发布时间:2019-06-29

本文共 2655 字,大约阅读时间需要 8 分钟。

一、 perl连接Oracle数据库

[plain] 
 
  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] 
 
  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] 
 
  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] 
 
    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]$   

转载地址:http://faofm.baihongyu.com/

你可能感兴趣的文章
CentOS Linux解决Device eth0 does not seem to be present
查看>>
JAVA通过访问页面中的URL实现Http文件下载到本地
查看>>
网页打印自动调用默认打印机打印
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
四舍六入五留双规则
查看>>
mysql 获取当前日期前后的时间
查看>>
Spark on Yarn ”爬坑“集锦(spark1.2)
查看>>
轻松审计代码安全性,Windows 10有妙招
查看>>
Android零基础入门第20节:CheckBox和RadioButton使用大全
查看>>
装饰模式
查看>>
数据备份工具rsync
查看>>
从零单排学Redis【铂金一】
查看>>
Cocoapods相关笔记
查看>>
iOS 基于WebView浏览器的高级开发 (一)
查看>>
Java面试题必考50道(含答案)
查看>>
PDF如何转换成EPUB格式
查看>>
图片压缩
查看>>
Android Canvas 硬件加速引起的clipPath失效问题
查看>>
安装go语言环境
查看>>