Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > DBI


Автор: julie525 27.11.2007, 12:49
Понимаю, что может спрашиваю глупость, но почему-то не работает соединение 

$dbh=DBI->connect($host, "DBI:mysql:sbras","$dbuser","$dbpass");
Если так
$dbh=DBI->connect("DBI:mysql:sbras","$dbuser","$dbpass");
то все нормально, но мне надо соединиться с другим сервером

Ставлю разные варианты, но результат тот же

Автор: shamber 27.11.2007, 12:52
может так?
Код

$dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
    $dbh = DBI->connect($dsn, $user, $password);


И еще можно доки по модулю http://search.cpan.org/~capttofu/DBD-mysql-4.005/lib/DBD/mysql.pm. 
Говорят поможет.
Код

my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost",
                         "joe", "joe's password",
                         {'RaiseError' => 1});

Автор: julie525 27.11.2007, 13:48
Код

my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost",
                         "joe", "joe's password",
                         {'RaiseError' => 1});


работает с localhost, пока не подставишь имя другого сервера

Так как же к другому серверу законектится?

Добавлено через 1 минуту и 47 секунд
из пхп и жавы все нормально подсоединяется, так что это перл не хочет соединяться, как его побороть?

Автор: arto 27.11.2007, 14:34
DBI->connect (...) or die $DBI::errstr;

Автор: julie525 27.11.2007, 14:44
Если поставить так
Код

$dbh=DBI->connect("DBI:mysql:$db:$host","$dbuser","$dbpass");

то коннект работает

Автор: fantome 1.12.2007, 07:39
julie525,
делай так и будет тебе щастье 
Код

$dbh = DBI->connect("DBI:mysql:database=$database;host=$hostname;port=$port", $user, $password);

где $hostname - строка, содержащая IP адрес того сервера, к которому надо коннектиться... ну или полное доменное имя.

Автор: nitr 1.12.2007, 13:29
fantome, повторяетесь smile

shamber, тоже самое написал.

Оба верно написали, julie525, прочтите документацию...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)