だけ異なるパスワードを持つ複数の接続文字列を使用してデータベースに接続しようとしています。パスワードには異なる特権があります。 1つのパスワードが失敗した場合は、別のパスワードを試してください。複数の接続文字列
コードは以下のように書かれています。それはうまく動作しますが、複数の接続文字列を処理するにはどのようにしてコードをリファクタリングできますか(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