我想在oracle中读取一个表,其中包含用于检查每个数据库链接可用性的数据库链接,并且只返回每个数据库链接的错误结果和错误消息。
我想将这个查找表提取到一个数组中,并将db_link的条目传递给select from dualqdb_link,测试查找的所有条目以测试成功或失败。这在Perl中似乎很难实现。
有什么想法吗?

最佳答案

看起来很简单,像这样:

# Or whatever the column is really named ;)
my $dblinks = $dbh->selectcol_arrayref("select dbname from db_link");

for my $dblink (@$dblinks) {
  my $success = eval {
    my ($ret) = $dbh->selectrow_array("select 1 from "
      . $dbh->quote_identifier($dblink, undef, "dual") );
    $ret;
  };

  if ($success) {
    say "$dblink is up";
  } else {
    say "$dblink is down";
  }
}

关于database - 使用Perl从@db_link中选择1,其中db_link来自查找表的每个条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2348977/

10-15 09:22