`
Tristan_S
  • 浏览: 366809 次
  • 性别: 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();


分享到:
评论

相关推荐

    ActivePerl-5.8.8.822-MSWin32-x86-280952.zip

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

    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能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

    perl-5.004.tar.gz

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

    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-x86

    **ActivePerl-x86** 是一个专为32位操作系统设计的Perl解释器版本。Perl是一种高级、通用、解释型、动态的编程语言,广泛应用于系统管理、网络编程、Web开发、CGI脚本等场景。ActivePerl是Perl的一个流行实现,由...

    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架构的系统。这个版本的...

    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提供了...

    ActivePerl-5.12.2.1203

    Perl是一种高级的、通用的、解释型、动态的编程语言,以其强大的文本处理能力和在系统管理、网络编程、数据库接口、图形化界面等方面的应用而广受欢迎。ActivePerl是Perl在Windows环境下的重要版本,它为开发者提供...

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

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

    用perl操作LDAP数据库

    通过以上介绍,你应该对如何用Perl操作LDAP数据库有了初步的了解。实践中,结合具体的业务需求和LDAP目录结构,调整代码以满足特定场景的需求。阅读和理解Net::LDAP模块的文档以及相关的Perl LDAP教程,将有助于...

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

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

    ActivePerl-5.8.8.822-MSWin32-x86

    CPAN拥有超过17万个模块,涵盖了各种用途,从数据库接口到图形处理,极大地扩展了Perl的功能。 总结来说,ActivePerl-5.8.8.822-MSWin32-x86是一个专为32位Windows系统设计的Perl版本,它提供了一个完善的开发环境...

    activePerl-5.16+bugzilla-5.0.zip

    2. **跨平台兼容**:Perl 5.16支持多种操作系统,如Windows、Linux、Unix等,这意味着无论在哪种环境下,Bugzilla都能顺利运行。 3. **性能提升**:Perl 5.16在语法和执行效率上有所改进,使Bugzilla运行更加流畅,...

    ruby--dbi数据库操作gems相关

    DBI,全称“Database Independent Interface”,是Ruby中一个用于数据库操作的重要库。它提供了一个统一的接口,允许开发者通过简单的API与多种数据库系统进行交互,如MySQL、PostgreSQL、SQLite等,无需关心底层...

Global site tag (gtag.js) - Google Analytics