2010-11-17 46 views
7

我正在寻找一个很好的指南,介绍在Windows XP上安装Perl草莓,MySQL和DBD :: mysql的顺序和详细步骤。在Windows XP上安装Perl草莓,MySQL和DBD :: mysql的顺序步骤

主要目标在这里我要做到的是有创建数据库,并通过使用Perl的草莓执行对他们的常规操作DBD

我发现this到目前为止能力:: MySQL的,但它是一个小过时,我不想通过所有这些只是为了发现它不起作用。

我自己在另一台计算机上获得的最远距离是安装了Perl草莓并正常工作,安装了MySQL,并尝试使用cpan DBD::mysql来安装该模块(由于找不到该模块而无法找到MySQL - 我也尝试了--with-mysql=C:\path\to\mysql这个选项,但是这对我不起作用)

+0

我结束了使用'DBI'而不是 – CheeseConQueso 2010-11-24 23:57:11

+0

你说*“我结束了使用DBI”*。这是一种奇怪的说法,因为DBI使用适当的DBD模块与数据库进行通信。所以,'DBI'需要'DBD :: mysql'才能够与MySQL数据库连接。 – 2010-12-06 19:18:02

+0

@Sinan - 这是我缺乏的关键信息。我有'使用DBI;'和'DBI-> connect('DBI:mysql:db','','',\%dbattr)''所以我认为dbd完全是一个不同的模块。感谢您清除 – CheeseConQueso 2010-12-07 03:01:30

回答

7

AFAIK,草莓的最新版本与DBD::mysql捆绑在一起。

另外,Strawberry Perl提供了ppm来安装预编译的二进制包。

+0

是的,StrawberryPerl捆绑了MySQL,PostgreSQL和ODBC的驱动程序。只需安装StrawberryPer就足够了。 – MichielB 2010-12-06 11:47:14

+1

实际上,我们不推荐在Strawberry上使用'ppm'来安装预编译的二进制文件,只需使用cpan或cpanm和捆绑的编译工具自己编译它们即可。 – MichielB 2010-12-06 11:48:26

0

如果你正在寻找一个“just works”解决方案,你可以尝试ActivePerl,你可以在其中安装DBD :: mysql通过ppm预编译的二进制文件。

0

还有DWIM Perl其中包含许多流行的附加模块,如Moose,Dancer,Perl Critic,Perl Tidy,甚至Perl IDE - Padre。

看来,使用这些安装之一是最简单的方法 - 因为您仍然可以获得工作cpan的好处,并且可以自己编译大部分模块以满足您的perl需求。 上次我使用activestate的perl + cpan我记得通过cpan安装了一些模块后,一堆东西停止工作,所以我放弃了它。通过ppm安装所有软件包,或使用可怕的ppm GUI管理器,与我无关,因为无论我在哪个系统,我本能地使用cpanm,并希望将所有模块编译/安装为Perl方式。

9

我想在我的本地Windows 7机器上安装bugzilla,并有类似的问题与MySQL。

尽管草莓perl的自动更新机制工作得很好,并安装了所有缺少的软件包,但似乎像某个草莓perl版本(我使用5.16.1.1),mysql驱动程序有问题。

我会得到一个错误说:

install_driver(mysql) failed: Can't load 'C:/Perl/site/lib/auto/DBD/mysql/mysql.dll' for module DBD::mysql: load_file:The specified module could not be found at C:/Perl/lib/DynaLoader.pm line 230. at (eval 34) line 3 Compilation failed in require at (eval 34) line 3.

但所需的文件在那里,所以很多在网络上搜索后,我发现在文章的评论部分的解决方案(http://lpsolit.wordpress.com/2010/05/15/installing-dbdmysql-what-a-pain/ ):

"For the record, and thanks to glob, the way to fix the problem with Strawberry Perl is to copy C:\strawberry\c\bin\libmysql_.dll to C:\strawberry\perl\vendor\lib\auto\DBD\mysql\libmysql_.dll. Yay!"

它的工作原理!

我希望这可以帮助其他人有同样的问题。

+0

感谢帮助!我检查了目录并在那里看到了一个DLL,但不知道第二个DLL也需要在那里复制。一旦我完成了它,Bugzilla就工作了! – paul 2015-05-06 12:03:51