`
j2ee_zhongqi
  • 浏览: 208744 次
  • 性别: 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 连接数据库所需包

    DBD::ODBC是Perl中的ODBC驱动,它允许Perl程序通过ODBC连接到任何支持ODBC的数据库,比如Microsoft SQL Server、IBM DB2或者PostgreSQL。 UnixODBC是Unix平台上的一个ODBC实现,它提供了一个ODBC驱动管理器,使得...

    JDBC连接DB2数据库详解.doc--转载

    总的来说,JDBC为Java开发者提供了一种统一的方式来操作DB2数据库,无论是在应用程序还是JSP环境中。通过理解JDBC连接字符串、驱动注册以及性能优化策略,可以有效地在Java应用中集成和管理DB2数据库。

    DB2的操作DB2的操作 DB2 CLI

    2. **连接到数据库**:通过使用`CONNECT`语句或其他相关函数,应用程序与DB2数据库建立连接。 3. **执行一个或多个事务**:事务是一系列逻辑相关的数据库操作,这些操作作为一个整体被提交或回滚。在DB2中,事务通常...

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

    IBM DB2通用数据库商业智能教程是一本深入探讨如何利用IBM DB2数据库系统进行商业智能(BI)开发的宝贵资源。本书旨在帮助读者掌握如何利用DB2的强大功能来处理、分析和展示企业数据,以实现更高效的数据驱动决策。 ...

    LINUX系统DB2安装方法

    在Linux系统上安装IBM DB2数据库是一个相对复杂的过程,但一旦成功,将为开发者和管理员提供一个强大且可靠的数据库管理平台。DB2是IBM开发的一款关系型数据库管理系统,广泛应用于企业级应用,支持多种操作系统,...

    DB2数据操纵数据库

    访问数据时,SQL 是关系数据库的标准语言,DB2 提供了多种语言接口,如 C/C++、COBOL、FORTRAN、Java(通过 SQLJ 或 JDBC)、REXX、DB2 CLI 和 ODBC,以及 Microsoft 规范(如 ADO、RDO、OLE DB)和 Perl DBI。...

    DB2开源开发文档

    IBM DB2 Universal Database(简称DB2 UDB)作为企业级数据库服务器,在部署使用开源编程语言(如Perl、PHP和Python)的应用程序方面处于领先地位。本文档旨在介绍这些开源编程语言,并解释如何利用它们访问DB2 UDB...

    db db2 dba

    标题中的“db db2 dba”暗示了我们讨论的核心是关于数据库管理,特别是IBM的DB2数据库管理系统,以及与之相关的数据库管理员(DBA)工作。DB2是一款强大的关系型数据库系统,广泛应用于企业级数据存储和处理。DBA则...

    ZabbixDBA:Zabbix数据库监视服务(Oracle,Pg,MySQL,MS SQL,DB2等)

    此外,它支持自定义脚本监控,例如使用Perl编写特定的数据库检查脚本,这极大地增强了监控的灵活性。 总的来说,ZabbixDBA是数据库管理员的强大工具,它通过集成多种数据库接口,实现了一站式的数据库监控。通过...

    db2perfsupport使用指南

    DB2数据库系统的性能监控与故障排查是DBA日常工作中至关重要的任务,db2perfsupport工具就是为此设计的一款实用软件。本文将详细介绍如何部署和使用db2perfsupport,以便更好地理解和优化DB2的性能。 首先,部署db2...

    db2开发基础.pdf

    3. 执行事务:事务是一组数据库操作,确保数据的一致性和完整性。一个事务可以包含多个SQL语句,直到提交(COMMIT)或回滚(ROLLBACK)。 4. 断开连接:完成事务后,需要断开与数据库的连接以释放资源。 5. 结束程序...

    DB2 getting started

    - **Perl**:Perl支持通过DBD::DB2模块与DB2数据库进行交互。 - **Python**:Python通过ibm_db或sqlalchemy-ibm_db2等库支持DB2的访问。 #### 四、版权与法律声明 - **版权声明**:本书为社区编写,由IBM ...

    DB2 应用开发和系统管理DB2开发基础

    3. 执行事务:一组数据库操作,需确保全部成功执行后才提交给数据库。事务开始于连接数据库,结束于COMMIT或ROLLBACK语句。 4. 断开数据库连接:释放资源,结束与数据库的通信。 5. 结束程序:清理程序运行期间产生...

    IBM DB2 Linux安装指南

    IBM DB2是一款功能强大的企业级数据库管理系统,被广泛应用于各种操作系统环境之中,包括Windows、UNIX和Linux等。随着Linux系统的流行及其在服务器领域的广泛应用,越来越多的企业选择将DB2部署在Linux平台上。本...

    linux下安装配置DBI.pdf

    在Linux环境下,安装和...通过以上步骤,你将能够在Linux环境中成功安装并配置DBI,从而利用Perl语言高效地处理数据库操作。同时,了解DBI、DBD、Perl和CPAN的基本概念和使用方法对于提升Perl开发者的技能至关重要。

    linux 数据库服务器

    - **日志文件维护**:监控数据库操作,便于问题排查和审计。 - **备份和拷贝**:定期进行数据备份,防止数据丢失。 - **服务器优化**:提高数据库性能,如调整参数设置、索引优化等。 - **安全性**:保护数据...

    db2 创建正则表达式函数

    在DB2数据库系统中,正则表达式是用于匹配字符串模式的强大工具,它们在数据分析、数据清理和查询优化中发挥着关键作用。然而,并非所有DB2版本都原生支持正则表达式。例如,DB2 11.1及更高版本开始内置了对正则...

Global site tag (gtag.js) - Google Analytics