新手的perl连接问题

时间:2013-01-24 21:25:27

标签: oracle perl

朋友可以告诉我在这里做错了什么吗?

我还在学习perl这样的新手......无论我做什么,我的连接字符串都不起作用。

  1. 尝试使用perl脚本连接oracle数据库,并在cmd提示符下使用以下参数。

    $ list_tables /@testdb

  2. 查询用户ABC

  3. 的dba_tables和列表
  4. 还可以在logfile中输出
  5. #!/usr/local/bin/perl -w      
    use strict;
    use Getopt::Std;
    use OracleAgent;
    use OracleLoginString;
    
    my exitStatus = 0;
    my %options = ();
    my $oracleLogin;
    
    getopts("o",\%options);
    
    if (defined $options{o}) {
        $oracleLogin = $options{o};
    }
    else {
        exitWithError());
    }
    
    my $db = DBI->connect('dbi:Oracle:',$oracleLogin,'')
        or die "Can't connect to Oracle database: $DBI::errstr\n";
    
    exit($exitStatus);
    

    基本上,当我执行脚本时,我只想提供实例名称而不是密码。

    我可以在没有密码的情况下从sqlplus提示连接,因为使用oracle login例如$sqlplus "/@testdb"

1 个答案:

答案 0 :(得分:0)

  1. 添加DBD::Oracle

    use DBD::Oracle;
    
  2. 写一个合适的连接字符串:

    my $db = DBI->connect("dbi:Oracle:host=$host;sid=$sid", $user, $passwd);