【问题标题】:Install DBI-mysql for Perl 5.18.xx [duplicate]为 Perl 5.18.xx 安装 DBI-mysql [重复]
【发布时间】:2014-11-29 04:43:38
【问题描述】:

我在 Windows 7 64 位机器上使用 perl 5.18.1.1800 和 ppm 4.19。

我需要使用 DBD-mysql 才能从 perl 访问 mysql。但我收到以下错误消息:

use DBI();
my $dbh = DBI->connect("DBI:mysql:database=mydbname;host=localhost","myuser", "mypass",{'RaiseError' => 1})

install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC(你 可能需要安装 DBD::mysql 模块)

所以我尝试安装 DBD-mysql,但我的 PPM 中没有列出。在命令行中,当我尝试安装时,出现以下错误

ppm install DBD-mysql

ppm 安装失败:找不到任何提供 DBD-mysql 的软件包

我尝试下载并安装它,但它需要一个我没有的 C 编译器。

来自DBD-mysql info page,没有提及该模块的 Perl 5.18 支持。

那么,我应该恢复到 5.16.xx 还是问题出在其他问题上?

谢谢,

【问题讨论】:

    标签: perl perl-module dbi


    【解决方案1】:

    模块的名称是 DBI。尝试使用:

    ppm install DBI
    

    *免责声明:我没有在 Windows 上使用 Perl,而是在 Linux 上使用 Perl,所以我假设使用 ppm 的语法是“ppm install modulename”。

    另外,正确的语法是:

    my $dbh = DBI->connect(DBI:mysql:DBNAME, $username, $pass, {RaiseError => 1, AutoCommit 
    => 1}) or die "Could not Connect to DB"; 
    

    【讨论】:

      【解决方案2】:

      DBD-mysql 可用于 ActivePerl-5.16.3.1604。恢复到该版本可能比安装编译器自己构建包更简单。

      Activestate 使用 Visual Studio 构建 DBD-mysql:http://ppm4.activestate.com/MSWin32-x86/5.16/1600/C/CA/CAPTTOFU/DBD-mysql-4.022.d/log-20120830T032945.txt

      C:\>ppm install DBD-mysql
      Downloading ActiveState Package Repository packlist...done
      Updating ActiveState Package Repository database...done
      Syncing site PPM database with .packlists...done
      Downloading DBD-mysql-4.022...done
      Unpacking DBD-mysql-4.022...done
      Generating HTML for DBD-mysql-4.022...done
      Updating files in site area...done
        12 files installed
      

      【讨论】:

      • 在命令提示符下运行C:\>ppm install DBD-mysql 效果很好!
      猜你喜欢
      • 1970-01-01
      • 2017-01-24
      • 2012-09-17
      • 2013-11-17
      • 1970-01-01
      • 2016-05-26
      • 2012-09-05
      • 2012-10-01
      • 2013-04-17
      相关资源
      最近更新 更多