`
Tristan_S
  • 浏览: 378572 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

perl - 操作数据库

    博客分类:
  • perl
阅读更多
插入DB
use strict;
use DBI;
use DBD::Oracle;

my $dbh=DBI->connect('DBI:Oracle:host=localhost;SID=XE','tristan','654321',{PrintError=>1,RaiseError=>1,ora_session_mode=>2});

my $sql = qq{ CREATE TABLE tristan.employees ( id INTEGER NOT NULL, 
                                       name VARCHAR2(128), 
                                       title VARCHAR2(128), 
                                       phone CHAR(8) 
                                     ) };
$dbh->do( $sql );

$dbh->disconnect();


访问数据库的代码
use strict;
use DBI;
use DBD::Oracle;

my $dbh=DBI->connect('DBI:Oracle:host=localhost;SID=XE','tristan','654321',{PrintError=>1,RaiseError=>1,ora_session_mode=>2});

my $sql = "select accout_no, cust_name from tristan.tbl_cust_info";
my $sth = $dbh->prepare($sql);
$sth->execute();

#my( $a, $b);
#$sth->bind_columns( \$a, \$b);
#while($sth->fetchrow()) {
#  print "$a, $b\n";
#}

my @row;
while(@row=$sth->fetchrow_array()) {
  print "$row[0], $row[1]\n";
}

$sth->finish();
$dbh->disconnect(); 



插入DB
#!c:/perl/bin/perl -X
use DBI;
use DBD::Oracle;

my $dbh=DBI->connect('DBI:Oracle:host=localhost;SID=XE','tristan','654321',{RaiseError=>1, AutoCommit => 0});

my @records = (
                [ 0, "Larry Wall",      "Perl Author",  "555-0101" ],
                [ 12, "Tim Bunce",       "DBI Author",   "555-0202" ],
                [ 2, "Randal Schwartz", "Guy at Large", "555-0303" ],
                [ 3, "Doug MacEachern", "Apache Man",   "555-0404" ] 
              );

my $sql = qq{ INSERT INTO tristan.employees VALUES ( ?, ?, ?, ? ) };
my $sth = $dbh->prepare( $sql );

for( @records ) {
  eval {
    $sth->bind_param( 1, @$_->[0],  { TYPE => SQL_INTEGER } );
    $sth->bind_param( 2, @$_->[1],  { TYPE => SQL_VARCHAR } );
    $sth->bind_param( 3, @$_->[2], { TYPE => SQL_VARCHAR } );
    $sth->bind_param( 4, @$_->[3], { TYPE => SQL_VARCHAR } );
    $sth->execute();
    $dbh->commit();
  };

  if( $@ ) {
    warn "Database error: $DBI::errstr\n";
    $dbh->rollback(); #just die if rollback is failing
  }
}

$sth->finish();
$dbh->disconnect();


分享到:
评论

相关推荐

    perl-5.32.1.tar.gz

    此外,Perl也常用于系统管理、网络编程、图形编程、数据库接口以及Web开发等多个方面。 在“perl-5.32.1”这个源代码包中,包含了Perl解释器的全部源代码,开发者可以对其进行编译和定制,以适应特定的系统环境或...

    mysql mha相关的包perl-Log-Dispatch

    MHA(Master High Availability)目前在...在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

    ActivePerl-5.20.2MSWin32

    标题“ActivePerl-5.20.2MSWin32”指的是ActivePerl的一个特定版本,适用于Windows操作系统。ActivePerl是Perl编程语言的一个流行的预编译版本,为Windows平台提供了便利的安装和使用环境。这个版本号5.20.2表示它...

    strawberry-perl-5.30.0.1-64bit.rar

    标题中的"strawberry-perl-5.30.0.1-64bit.rar"表明我们正在讨论的是Strawberry Perl的一个特定版本,即5.30.0.1,适用于64位操作系统,并且它被压缩在RAR格式的文件中。Strawberry Perl是一个在Windows平台上运行的...

    ActivePerl-5.28.1.0000-x86_64-linux-glibc-2.12-4898c4be.tar.gz

    Perl的强大之处在于其丰富的标准库和第三方模块,比如CPAN(Comprehensive Perl Archive Network)提供了超过18万个模块,涵盖了各种各样的功能,从数据库接口到XML解析,再到图形用户界面。 对于开发者来说,...

    perl-mingw32-0.1-x86

    在实际应用中,用户可能需要结合其他Perl模块,如CGI模块进行Web开发,或者使用DBI模块进行数据库操作。同时,熟悉Perl的异常处理、正则表达式以及文件操作也是必不可少的技能。 总的来说,"perl-mingw32-0.1-x86...

    ActivePerl-5_ActivePerl5.28_ActivePerl.zip

    5. **模块更新**:ActivePerl会包含Perl核心模块的最新版本,这些模块可能包括CGI处理、数据库接口、XML解析等。 安装ActivePerl后,用户可以使用Perl脚本来执行各种任务,比如文件操作、系统管理、网络通信,甚至...

    ActivePerl-5.8.8.822-MSWin32-x86-280952.zip

    CPAN是Perl模块的大型仓库,包含数千个第三方模块,涵盖了从网络编程到数据库接口等各种功能。安装完ActivePerl后,用户可以通过内置的PPM(Perl Package Manager)工具方便地安装和管理这些模块。 总结来说,这个...

    perl-5.004.tar.gz

    Perl强调的是实用性和可读性,它支持正则表达式、列表操作、文件处理等功能,这使得Perl在处理文本、日志文件和系统管理任务时特别有效。 压缩包中的"perl-5.004"包含了Perl 5.004版本的所有源代码文件,这包括核心...

    ActivePerl-5.8.6.811-MsWin32-X86.msi

    4. 适合脚本编写:Perl非常适合编写系统管理脚本,因为它可以轻松地与操作系统交互,执行文件操作、系统调用等。 5. 丰富的编程范式:Perl支持面向过程、面向对象和函数式编程,具有很高的可扩展性。 在给定的...

    ActivePerl-5.16.3 win7 32bit

    在使用ActivePerl时,用户可以利用CPAN(Comprehensive Perl Archive Network)来获取和安装额外的Perl模块,这些模块极大地扩展了Perl的功能,涵盖了数据库接口、图形处理、网络编程等多个领域。ActivePerl也提供了...

    perl-DBI-1.40-5.i386.rar

    Perl DBI,全称是Database Independent Interface(数据库独立接口),是一个Perl编程语言的数据库接口模块。这个"perl-DBI-1.40-5.i386.rar"压缩包包含的是Perl DBI的1.40版本,适用于i386架构的系统。这个版本的...

    perl的DBI安装包以及安装步骤

    5. **编写Perl脚本**:现在你可以使用DBI模块编写Perl脚本来连接和操作数据库了。基本的连接代码如下: ```perl use DBI; my $dbh = DBI->connect("dbi:mysql:database=your_database", "username", "password") ...

    ActivePerl-5.10.1.1007-MSWin32-x86-291969

    ActivePerl是一个预编译的Perl解释器,特别为Windows操作系统(由MSWin32标识)设计,用于在Windows平台上运行Perl脚本。"5.10.1.1007"是Perl的版本号,表明这是Perl语言的一个分支,5.10系列代表了Perl的第五个主要...

    strawberry-perl-5.28.1.1-1-win64-x64.zip

    `sqlite3.c`可能包含了该模块的源代码或者相关依赖,使得用户可以在Perl中方便地操作SQLite数据库。 2. `c\x86_64-w64-mingw32\include\*`:这些文件夹和文件是针对x86_64架构的MinGW-w64编译器的头文件。它们包含...

    ActivePerl-5.14.3.1404-MSWin32-x86-296513

    3. **预编译的模块**:ActivePerl包含了大量的预编译模块,这些模块涵盖了从网络通信到数据库连接等各种功能,极大地丰富了Perl的生态系统,减少了开发者自行编译模块的时间。 4. **命令行工具**:ActivePerl提供了...

    Perl开发环境.zip

    "Perl开发环境.zip" 提供的是在Windows操作系统上搭建Perl开发环境的资源,具体是"strawberry-perl-5.32.0.1-64bit.msi" 文件,这是一个64位的Perl解释器安装程序。 Strawberry Perl 是Perl在Windows上的一个受欢迎...

    ​ActivePerl5.28版本下载、ActivePerl下载

    根据CGI标准,编写外部扩展应用程序,可以对客户端浏览器输入的数据进行处理,完成客户端与服务器的交互操作。CGI规范定义了Web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容...

    perl-5.16.3.tar.gz

    Perl语言广泛应用于系统管理、网络编程、文本处理、数据库接口、Web开发等领域,其强大的文本处理能力和丰富的模块生态使其在各种任务中都有出色的表现。通过学习和掌握Perl 5.16.3,开发者可以利用其强大的功能解决...

Global site tag (gtag.js) - Google Analytics