`
j2ee_zhongqi
  • 浏览: 203296 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Perl 操作DB2数据库

    博客分类:
  • Perl
阅读更多
#!/usr/bin/perl -w  
#################################################################################################
# Author: George Feng  added on Sep 13th
# Usage: This script is used to Access DB2  
# Version: 0.1
# License: GPL v2
#
#################################################################################################

#load modules
use Spreadsheet::ParseExcel;  
use DBI;
use DBD::DB2::Constants;
use DBD::DB2;

# Configure DB2 Connection Info
my $db_name = "citm";
my $username = "admin";
my $password = "password";

# connect
my $dbh = DBI->connect("dbi:DB2:$db_name", $username, $password);
if ($dbh)
{
     print "-->CITM Database \"$db_name\" connected successfully...\n\n";
} else 
{
     print "-->Error: Can not connect to $db_name!!!\n\n";   
}


# execute INSERT 
sub _execute_insert(){
	print "--->start insert record to db ...\n";
	my $cols=$_[0];
	my $values=$_[1];
	my $insert="INSERT INTO tablename ".$cols." VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
	print "----> sql satament is $insert \n";
	$sth = $dbh->prepare($insert);

	#bind paras
	$count=1;
    while($count<=(@$values-1)){
		$sth->bind_param($count,@$values[$count]);
        $count++;
    }
	if($sth->execute() ) {
		  return($sth);
		} else {
			print "Execution of insert failed: \n";
			return(0);
		}
}




# execute SELECT query
$sth = $dbh->prepare("SELECT * FROM tablename");
$sth->execute();
# iterate through resultset
# print values
while(my $hash_ref = $sth->fetchrow_hashref) {
    print "name:$hash_ref->{'name'}";
    print ",owner:$hash_ref->{'owner'}";
    print ",sex:$hash_ref->{'sex'}";
    print ",birth:$hash_ref->{'birth'}";
    print ",death:$hash_ref->{'death'}";
    print "\n";
}


$sth = $dbh->prepare("SELECT * FROM tablename");
$sth->execute();
while(my $array_ref = $sth->fetchrow_arrayref) {
    print "name:$array_ref->[0]";
    print ",owner:$array_ref->[1]";
    print ",sex:$array_ref->[2]";
    print ",birth:$array_ref->[3]";
    print ",death:$array_ref->[4]";
    print "\n";
}



$sth = $dbh->prepare("SELECT * FROM pet");
$sth->execute();
print "fetchrow_array output style----\n";
while(my @row_array = $sth->fetchrow_array) {
    print "name:$row_array[0]";
    print ",owner:$row_array[1]";
    print ",sex:$row_array[2]";
    print ",birth:$row_array[3]";
    print ",death:$row_array[4]";
    print "\n";
}

# execute DELETE
my $c = $dbh->do('DELETE FROM tablename');
# clean up
$dbh->disconnect(); 


有兴趣的可以:
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0512greenstein/?S_TACT=105AGX52&S_CMP=techccid
分享到:
评论

相关推荐

    使用 Perl 访问 DB2 for Linux

    您将学习如何安装和使用 IBM DB2 Universal Database, Personal Developer\\\\\\\'s Edition 的 Perl 接口。您还将通过示例学习如何查询 DB2 Personal Developer\\\\\\\'s Edition 的样本数据库。

    perl 连接数据库所需包

    perl dbi dbd unixodbc

    IBM DB2通用数据库商业智能教程

    IBM DB2通用数据库商业智能教程

    DB2开源开发文档

    DB2开源开发文档包含Perl、PHP、C#

    pg数据库手册

    它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。 PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99...

    Greenplum数据库架构.pdf

    外部表(external tables)/并行加载(parallel loading) 查询优化器增强 MPP Massive Parallel Processing 大规模并行处理系统 MPP与其它数据库架构 共享磁盘 例如: Informix XPS Oracle RAC DB2 pureScale DB SAN/...

    Linux环境数据库管理员指南

    第1章 Linux操作系统 1 1.1 Linux的简要历史介绍 1 1.2 Linux核心 2 1.2.1 Linux的开发特点 2 1.2.2 Linux分发包 3 1.2.3 为什么要为商业Linux 版本付费 3 1.3 Linux与其他操作系统之间的差异 3 1.3.1 功能丰富 3 ...

    DBI-1.616.zip

    是perl连接数据库的接口。其是perl连接数据库的最优秀方法,他支持包括Orcal,Sybase,mysql,db2等绝大多数的数据库

    在Ruby程序中连接数据库的详细教程

    Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口。 DBI 即 Database independent interface,代表了 Ruby 独立于数据库的接口。DBI 在 Ruby 代码与底层数据库之间提供了一个抽象层,允许...

    ADODB for PHP 5 全功能版

    目前 ADODB最新版本是V4.62,支持的数据库种类非常地多,例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, Access, ADO, Sybase, DB2 以及一般的 ODBC (其中 PostgreSQL、Informix、Sybase...

    中标麒麟服务器操作系统介绍.pdf

    中标麒麟服务器操作系统-软件兼容性 软件兼容性测试列表(X86_64、X86) 分类 厂商 软件产品 版本 数据库 Oracle oracle DB 11gR2 11.2 Oracle DB 10gR2 10.2 IBM DB2 Enterprise Server Edition (ESE) V9.7 Informix...

    keras2sql:使用SQL数据库的深度学习(Keras)模型部署

    使用SQL数据库的深度学习(Keras)模型部署 ... 该系统支持主要的市场数据库(db2,firebird,hive,impala,monetdb,MS SQL Server,mysql,oracle,pgsql,sqlite和teradata)。 该POC的目标是查看此

    JDK+Tomcat+MySQL的安装及配置教程图文

    Linux作为LAMP操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就...

    OTRS在Windows sever2008的安装

    OTRS系统可通过在Apache中扩展mod_perl.so来加载实现用户界面部分独立在一台服务器,将分离后的数据库单独安装在另外一台服务器。 由于作者本人长期工作在Windows平台下,所以,后面所介绍的OTRS安装部署相关内容均...

    学生成绩信息管理系统论文 JSP 完整版

    MySQL作为一种开放源码数据库,以其简单易用的特点广泛被广大用户采用,MySQL虽然是免费的,但同Oracle, Sybase, Informix, Db2等商业数据库一样,具有数据库系统的通用性: (1)数据库管理系统。我们知道,所谓的...

    fckeditor扩展上传文件、源码高亮,插入Flash、媒体及视频及集成轻开平台

    轻开平台同时支持使用多个数据源和不同厂商提供的数据库服务器,只要支持JDBC访问及基于SQL规范的数据库(如:MySQL、SQLServer、Oracle、DB2、Teradata、SyBase等关系型数据库及基于SQL的大数据分析系统Vertica)。...

    togoid-config:TogoID的链接数据的定义

    选项卡分隔值(TSV)格式的一对数据库ID。 该文件的名称应在以下配置文件中列出。 DB1ID1 DB2IDx DB1ID2 DB2IDy DB1ID3 DB2IDz : 设定档 数据库对及其关联的元数据。 # Source database (the 1st column of the ...

    SyncBBDB2-开源

    用于将 Palm OS 设备与 BBDB(阴险的老大哥数据库)同步的管道 http://bbdb.sf.net 该管道是用 Perl 编写的,旨在与 PilotManager 或独立工作。

    PHP5 完整官方 中文教程

    PCRE — Perl 兼容正则表达式函数 PDF — PDF 函数 PDO — PDO Functions phar — Phar archive stream and classes PHP Options/Info — PHP Options&Information POSIX — POSIX Functions POSIX Regex — POSIX ...

Global site tag (gtag.js) - Google Analytics