У меня есть этот сценарий PERLPerl DBI-> не подключить хлопков "нет маршрута для размещения", хотя я могу выбрать HOST
wrapper.pl
#!/usr/bin/env perl
use strict;
use warnings;
use Getopt::Long;
use DBI;
# input params
my $end;
my $start;
my $url;
my @IP;
my $host = "localhost";
my $dbname = "flows";
my $username;
my $pass;
GetOptions ("s|start=s" => \$start,
"e|end=s" => \$end,
"r|url=s" => \$url,
"ip|iplist=s" => \@IP,
"h|host=s" => \$host,
"db|dbname=s" => \$dbname,
"u|username=s" => \$username,
"p|pass=s" => \$pass);
# connect and send request to database
my $dbh = DBI->connect("DBI:Pg:dbname=".$dbname.";host=".$host, $username, $pass, {'RaiseError' => 1});
Когда я бегу
./wrapper.pl -h 10.0.0.3
Я получаю:
DBI connect('dbname=flows;host=10.0.0.3','',...) failed: could not connect to server: No route to host
Is the server running on host "10.0.0.3" and accepting
TCP/IP connections on port 5432?
Я могу пинговать сервер, а также он должен принимать соединения на 5432. Могу ли я получить это сообщение из-за неправильных учетных данных?
насчет 'PSQL -h 10.0.0.3 flows' из той же учетной записи пользователя и хозяин? Тот же результат? –
Резервированное использование оператора конкатенации: «DBI: Pg: dbname = $ dbname; host = $ host» - интерполировать ваши скалярные переменные. – TLP
'Нет маршрута к хосту' звучит как сообщение от самой ОС. (Я не знаю, есть ли способ указать прокси-сервер, но если есть, и если бы вы это сделали, то хозяин, о котором идет речь, может быть прокси-сервером.) – ikegami