Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBI не работает! драйвер mysql 
V
    Опции темы
OutlawZ
Дата 10.5.2009, 03:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 269
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Код

#!/usr/bin/perl

use DBI;

my ($dsn) = "DBI:mysql:ddd:localhost";

my ($user_name) = "root";
my ($password) = "";
my ($dbh, $sth);
my (@ary);

$dbh = DBI->connect ($dsn, $user_name, $password);
$sth = $dbh->prepare("SELECT * FROM user");
$sth->execute();

while(@ary = $sth->fetchrow_array())
{
 print join("\t",@ary) . "\n";
}
$sth->finish();
$dbh->disconnect();
exit(0);


При работе в nix нормально все выходит, но вот сижу за виндой и при выполнении скрипта выдает:

Код

install_driver(mysql) failed: Can't locate loadable object for module DBD::mysql
 in @INC (@INC contains: D:/Perl/site/lib D:/Perl/lib .) at (eval 4) line 3
Compilation failed in require at (eval 4) line 3.
Perhaps a module that DBD::mysql requires hasn't been fully installed
 at C:\Documents and Settings\Outlaw\╨рсюўшщ ёЄюы\db.pl line 12


Инсталил по новой DBI DBD CSV как показано в доках, но все равно выдает данную ошибку, потом просмотрел каталог "lib" mysql.pm там есть, потов в папках DBI посмотрел там тоже есть mysql.pm не знаю что происходит.

Помогите настроить perl для работы с mysql.

P.S на машине стоит денвер, может проблема в нем?


--------------------
user posted image
user posted image
PM MAIL   Вверх
DaemonSuw
Дата 10.5.2009, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: 3
Всего: 3



Скрипт не находит DBD проверти его наличие в папках perl_dir_DENVER\site\lib\DBD\
можете попробывать указать путь к DBD явно, но это неправильно!:
use lib 'the/path/you/DBD'

PM MAIL ICQ   Вверх
OutlawZ
Дата 10.5.2009, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 269
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Хм, дело в том что я запускаю денвер, там и там стоит перл, но скрипт я запускаю не с денвера, а так. База данных на локалхосте. Т.е даже если я библиотеку скопирую в денвер в библиотеку он все равно не работает!

А покет DBD::mysql я скачивал он только для unix, точнее makefile.pl он выдает ошибки, говорит что то там не иницилизировано, даже с CPAN и PPM. Заинсталил пакет DBD::mysqlPP что то в это роде но опять нуль эффекта! 

Это сообщение отредактировал(а) OutlawZ - 10.5.2009, 13:08


--------------------
user posted image
user posted image
PM MAIL   Вверх
OutlawZ
Дата 10.5.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 269
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Попробовал даже так посоветовали:
Код

use lib 'D:/Perl/lib/DBD';
use DBI;
use strict;

my ($dsn) = "DBI:mysql:ddd:localhost";

my ($user_name) = "root";
my ($password) = "";
my ($dbh, $sth);
my (@ary);

$dbh = DBI->connect ($dsn, $user_name, $password);
$sth = $dbh->prepare("SELECT * FROM user");
$sth->execute();

while(@ary = $sth->fetchrow_array())
{
 print join("\t",@ary) . "\n";
}
$sth->finish();
$dbh->disconnect();
exit(0);


И опять ошибка, в папке DBD есть файлы:

DBD-mysql.ppd
mysql.pm
ExampleP.pm
Proxy.pm
SQLite.pm
.exists
DBM.pm
File.pm
NullP.pm
Sponge.pm
и еще там папка "mysql" в ней два файла:
GetInfo.pm
INSTALL.pod

Вот и все, может чего то не хватает или какой пакет надо установить? 

Запускал с девера такой код:
Код

#!/usr/bin/perl -w
print "Content-Type: text/html\n\n";

use lib '/usr/lib/DBD';
use DBI;

my ($dsn) = "DBI:mysql:ddd:localhost";

my ($user_name) = "root";
my ($password) = "";
my ($dbh, $sth);
my (@ary);

$dbh = DBI->connect ($dsn, $user_name, $password);
$sth = $dbh->prepare("SELECT * FROM user");
$sth->execute();

while(@ary = $sth->fetchrow_array())
{
 print join("\t",@ary) . "\n";
}
$sth->finish();
$dbh->disconnect();
exit(0);

Он вообще нечего не выдал!

Добавлено @ 14:16
Если не кто не знает ответа, тогда вопрос такой есть ли другой способ связи с mysql? читал можно через ODBC?

Это сообщение отредактировал(а) OutlawZ - 10.5.2009, 17:40


--------------------
user posted image
user posted image
PM MAIL   Вверх
DaemonSuw
Дата 10.5.2009, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: 3
Всего: 3



Как вы устанавливаете модули для перла в денвере? Походу вы вообще ничего не устанавливали в перл который идет в комплекте с денвером!
На сколько мне известно он сильно урезан для удобной транспортировки ;) и там нет ничего из нужных модулей!

Для установки модулей для perl идущий с денвером в комплекте нужно найти ppm manager также идущей в комплекте и выполнить 2 команды
Цитата

ppm i DBD-mysql
ppm i DBI 


Цитата

Он вообще нечего не выдал!


Он и не выдаст ничего! это вам не php! 
Добавьте строку

Код

use CGI::Carp qw(fatalsToBrowser);

и ошибки полезут в браузер!


Это сообщение отредактировал(а) DaemonSuw - 10.5.2009, 20:33
PM MAIL ICQ   Вверх
OutlawZ
Дата 10.5.2009, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 269
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Дело в то что perl который установлен не в денвере, я пичкаю пакетами и потом все пакеты и сам перл заменяю на perl который стоит в денвере. И все пакеты работают! 


--------------------
user posted image
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.