zoukankan      html  css  js  c++  java
  • Perl安装和使用DBI

    还可以从cpan.perl.org站点下载tar压缩文件形式的源代码发行版本,解压缩后,切换到相应的文件目录
    cd DBI-1.54
    perl Makefile.PL
    make
    make test
    make install
    
    安装DBD时候 需要export ORACLE_HOME
    
    验证安装:
    perldoc DBD::Oracle
    
    perldoc DBI
    
    在线文档;
    perldoc -m DBI
    
    perl DBI版本:
    
    perl -MDBI -le 'print $DBI::VERSION;'
    
    查看安装路径:
    [oracle@dwh1 ~]$ perldoc -l DBI
    /usr/local/lib64/perl5/DBI.pm
    
    
    配置用户环境变量:
    export ORACLE_OWNER=oracle
    export ORACLE_BASE=/oracle/app
    export ORACLE_HOME=/oracle/app/product/11.2.0/db_1
    export ORACLE_SID=dwh1
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    export NLS_DATE_FORMAT="YYYY-MM-DD"
    export PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/oracle/app10g/product/10.2.0/db/bin
    #####################################################
    #export LC_CTYPE=en_US.UTF-8
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
    export CLASSPATH
    export JAVA_OPTS=-Djava.awt.headless=true
    
    #!/usr/bin/perl 
    use strict;
    use DBI;
    my $dbName = 'dev2';
    my $dbUser = 'hr';
    my $dbUserPass = 'hr';
    my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database " . $DB
    my $hostSql = qq{select table_name,tablespace_name,status from user_tables};
    #你用print是打印sql语句和sth对象,看到这个说明没有错误
    #另外,perl中打印对象或其它复杂数据结构最好用use Data::Dumper;print Dumper $obj;这种形式,要不你就只能看到HA
    #$dbh->prepare($sql),只是生成了一个statement handle对象而已,该对象调用execute后,通过它的fetchrow_array()就
    #
    my $sql = "select count(*) from dba_users";
    print "$sql..
    ";
    my $sth = $dbh->prepare($sql);
    print "$sth..
    ";
    
    $sth->execute();
    my $count = $sth->fetchrow_array();
    print "$count....
    ";
    
    $sth->finish;
    
    my ($table_name, $tablespace_name, $status);
    my $selStmt = $dbh->prepare($hostSql);
    $selStmt->bind_columns(undef, $table_name, $tablespace_name, $status);
    $selStmt->execute();
    while( $selStmt->fetch() ){
      print "$table_name		$tablespace_name		$status
    ";
    }
    $selStmt->finish;
    $dbh->disconnect;
    

  • 相关阅读:
    解决HbuilderX乱码问题
    IDEA
    关于Git开发的一些注意事项
    postgresql
    启动新拉取项目流程
    关于能发布但无法打包的问题
    关于人脸感知设备(类似门禁考勤设备)搜索添加显示成功但却添加不上的问题
    在GitLab上创建项目并上传初始文件
    中控标替换成白标开发
    工厂模式
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352098.html
Copyright © 2011-2022 走看看