Использование Perl для выбора 1 из @ db_link, где db_link приходит из каждой записи таблицы поиска - PullRequest
1 голос
/ 28 февраля 2010

Я хочу прочитать таблицу в Oracle, которая содержит ссылки на базы данных для проверки доступности каждой ссылки на базу данных и возвращать только неверные результаты для каждой ссылки на базу данных и сообщения об ошибке.

Я хочу извлечь эту таблицу поиска в массив и передать записи db_link элементу выбора из dualQdb_link, протестировать все записи поиска, чтобы проверить их успешность или неудачу. Это кажется очень трудным для достижения в Perl.

Есть идеи?

1 Ответ

2 голосов
/ 28 февраля 2010

Кажется довольно простым, что-то вроде этого:

# 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";
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...