Просто пытайтесь подключить базу данных с несколькими строками подключения с разными паролями. Пароли имеют разные привилегии. Если один пароль терпит неудачу, он должен попробовать с другим.несколько строк подключения к базе данных с другим паролем
Код написан ниже. Хотя он отлично работает, как мы можем реорганизовать код (eval & DBH) для обработки нескольких строк соединения?
my %config = do 'dbconfig.pl';
my $dbh = eval { DBI->connect("dbi:Pg:dbname=".$config{db}.";host=$socket_nm;port=".$config{port}."", $config{user},$config{password},{RaiseError=>1,PrintError=>0}) };
if (!$dbh) {
$dbh = eval { DBI->connect("dbi:Pg:dbname=".$config{db}.";host=$socket_nm;port=".$config{port}."",$config{user},$config{password},{RaiseError=>1,PrintError=>0}) };
}
if ([email protected]) {
#Handle Exceptions
}
dbconfig.pl содержит:
db => 'db',
port => '5432',
user => 'db_ro',
password => 'Pass01',
password2 => 'Pass02'
Что вы подразумеваете под несколькими строками соединения? Вы хотите создать более одного дескриптора, каждый из которых подключается к другому серверу? – simbabque
сервер такой же, пароли отличаются привилегиями. – Robie
Значит, пользователь и пароль разные, и вам нужны несколько ручек? Укажите, какой должна быть ваша продукция. – simbabque