Perl操作Oracle
一、 perl连接Oracle数据库
- [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!
二、向数据库插入数据
- [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]$
三、删除数据
- [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!
四、查询
- [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]$
Perl操作Oracle的更多相关文章
- ASP.NET操作ORACLE数据库之模糊查询
ASP.NET操作ORACLE数据库之模糊查询 一.ASP.NET MVC利用OracleHelper辅助类操作ORACLE数据库 //连接Oracle数据库的连接字符串 string connect ...
- Java操作Oracle
public class DBCon { // 数据库驱动对象 public static final String DRIVER = "oracle.jdbc.driver.OracleD ...
- Qt操作Oracle
很久以前写过<Qt数据库操作>的一篇文章,在操作数据库的时候,温习了一下!感觉很好!但在操作Oracle数据库时又遇到了一些问题.在使用QSqlRelationalTableModel操纵 ...
- php操作oracle的方法类集全
在网上开始找php中操作oracle的方法类~ 果然找到一个用php+oracle制作email表以及插入查询的教程,赶忙点开来看,从头到尾仔细的看了一遍,还没开始操作,便觉得收获很大了.地址在此:h ...
- Java操作Oracle数据库以及调用存储过程
操作Oracle数据库 publicclass DBConnection { //jdbc:oracle:thin:@localhost:1521:orcl publicstaticf ...
- PHP操作Oracle数据库
原文出处 (这是来自“百度文库”中的文章写得很不错) PHP操作Oracle数据库(OCI数据抽象层)OCI(Oracle 8 Call-Interface)是PHP中内置的数据库抽象层函数.下面针对 ...
- Python使用cx_Oracle模块连接操作Oracle数据库
1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...
- mybatis批量增、删、改(更新)操作oracle和mysql批量写法小记
前言:用mybatis也好几年了,mybatis在批量的增删操作也写起来也是比较简单的,只有批量更新这一块是特别坑,特此记录. 注:本文主要用来记录oracle和mysql数据库在使用mybatis的 ...
- Java java jdbc thin远程连接并操作Oracle数据库
JAVA jdbc thin远程连接并操作Oracle数据库 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 编码工具:Eclipse 编码平台:W ...
随机推荐
- Qt安装过程中: configure 时发生的经典出错信息之”Basic XLib functionality test failed!”(Z..z..) 之 MySQL support cannot be enabled due to functionality test!
整出错信息是在./configure阶段Basic XLib functionality test failed!You might need to modify the include and li ...
- windows下QJson的编译和安装
本文是编译安装Qjson过程中遇到的问题解决过程.主要参照网上资料和自己试验得到. 关于Qjson的用处参照:Qt 学习之路 2(63):使用 QJson 处理 JSON Qjson clone地址: ...
- HBase的compact分析
HBase是基于LSM树存储模型的分布式NoSQL数据库.LSM树对比普遍的B+树来说,能够获得较高随机写性能的同时,也能保持可靠的随机读性能(可参考这里).在进行读请求的时候,LSM树要把多个子树( ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (八)
在本项目中使用到的“文本转语音”的技术总结: 文本转语音,使用的是科大讯飞的接口,因为此作品之中语音包不是重点,所以语音包的转换我们统一调用的科大讯飞的语音包接口,依旧是在线的文字转语音,客户端将来自 ...
- 启动LINUX系统后,进入图形化界面的命令
1.进入xWindow的命令 $startx回车 或者修改/etc/inittab文件 cd /etc vi inittab 寻找: id:3:initdefault: 改为: id:5:initde ...
- Python模拟Linux的Crontab, 写个任务计划需求
Python模拟Linux的Crontab, 写个任务计划需求 来具体点 需求: 执行一个程序, 程序一直是运行状态, 这里假设是一个函数 当程序运行30s的时候, 需要终止程序, 可以用python ...
- c 预处理的宏定义
概念 以“#”号开头的都是预处理命令 例如 #include <stdio.h>宏定义 宏定义无参数的宏名后不带参数# 表示这是一条预处理命令, define 为宏定义命令.“标识符”为所 ...
- C#提高------------------------Attribute自定制概念
C#基础知识梳理系列八:定制特性Attribute 摘 要 设计类型的时候可以使用各种成员来描述该类型的信息,但有时候我们可能不太愿意将一些附加信息放到类的内部,因为这样,可能会给类型本身的信息描 ...
- Python——eventlet.hubs
Hub构成了 Eventlet 的事件循环,它分发 I/O 事件.调度 greenthread.Hub的存在使得协程被提升为 greenthreads. Eventlet 有多种hub的实现,所以在使 ...
- (弃) Keystone CLI_可选命令详解
本文详细介绍keystone客户端命令行界面(CLI)keystone的可选子命令.关于keystone客户端命令行工具keystone命令的子命令和选项列表,请参考前文<解读keystone命 ...