【问题标题】:Mysql Perl module issues on MacMac 上的 Mysql Perl 模块问题
【发布时间】:2010-12-04 02:36:08
【问题描述】:

已安装 Mysql Perl 模块并仔细检查(见下面的#3),但在使用时仍然出现错误(下面的#1)。

如果我使用DBD::Mysql,则连接语句 [Mysql->connect('localhost')] 不起作用(下面的#2)

已尝试每个文档的所有语法组合,包括拼写的大写等。

在 Mac OS X 10.6 上。

TIA, 加里

1.

Can't locate Mysql.pm in @INC (@INC contains: /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level /Library/Perl/Updates/5.10.0 /System/Library/Perl/5.10.0/darwin-thread-multi-2level /System/Library/Perl/5.10.0 /Library/Perl/5.10.0/darwin-thread-multi-2level /Library/Perl/5.10.0 /Network/Library/Perl/5.10.0/darwin-thread-multi-2level /Network/Library/Perl/5.10.0 /Network/Library/Perl /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level /System/Library/Perl/Extras/5.10.0 .)

2:

Can't locate object method "connect" via package "mysql" (perhaps you forgot to load "mysql"?)

3:

cpan[1]> install DBD::mysql
CPAN: Storable loaded ok (v2.18)
Going to read '/private/var/root/Library/Application Support/.cpan/Metadata'
  Database was generated on Sat, 04 Dec 2010 00:31:51 GMT
DBD::mysql is up to date (4.018).

【问题讨论】:

    标签: mysql perl syntax driver perl-module


    【解决方案1】:

    DBD::mysql 是数据库驱动程序。在正常情况下,您不应该直接使用它。相反,您应该使用带有 MySQL 特定连接字符串的 DBI

    示例:

    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    
    use DBI;
    
    my %db = (
        'database' => 'leaking_wiki',
        'host'     => 'localhost',
        'port'     => '3306',
        'username' => 'root',
        'password' => 't0p_53cr3t',
    );
    
    my $dbh = DBI->connect(                                                                                                                                      
        "DBI:mysql:database=$db{database};host=$db{host};port=$db{port}",                                                                                        
        $db{username}, $db{password} )                                                                                                                           
      or die $DBI::errstr;
    

    【讨论】:

    • 似乎克服了这个错误,虽然在尝试移植一些旧的 Perl 代码时遇到了其他几个问题 - 通过搜索或文档没有找到任何地方 - 所以给你一个真正的提示!
    • 嗨,在经历了一些其他错误之后,现在得到了这个 - 感谢任何帮助 - dyld:惰性符号绑定失败:找不到符号:_mysql_init 引用自:/Library/Perl/5.10。 0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle 预期在:平面命名空间
    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 2020-12-04
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    相关资源
    最近更新 更多