2010-11-17 49 views
7

Tôi đang tìm hướng dẫn tốt với các bước được sắp xếp theo trình tự và chi tiết để cài đặt Perl Strawberry, MySQL và DBD :: mysql trên Windows XP.Các bước được sắp xếp để cài đặt Perl Strawberry, MySQL và DBD :: mysql trên Windows XP

Mục đích chính tôi muốn đạt được ở đây là phải có khả năng tạo ra cơ sở dữ liệu và thực hiện các hành động thường xuyên đối với họ qua Perl Strawberry sử dụng DBD :: mysql

tôi đã tìm thấy this cho đến nay, nhưng đó là một chút hết hạn và tôi không muốn trải qua tất cả những điều đó chỉ để tìm ra rằng nó không hoạt động.

Cách xa nhất tôi nhận được trên máy tính khác là cài đặt Perl Strawberry và cài đặt MySQL, và ATTEMPT sử dụng cpan DBD::mysql để cài đặt mô-đun (không thành công vì không thể tìm thấy MySQL - Tôi cũng đã thử tùy chọn --with-mysql=C:\path\to\mysql mà nó gợi ý, nhưng điều đó không phù hợp với tôi)

+0

tôi đã kết thúc bằng cách sử dụng 'DBI' thay vì – CheeseConQueso

+0

Bạn nói *" tôi đã kết thúc bằng cách sử dụng DBI thay thế "*. Đó là một câu lệnh lẻ như là 'DBI' sử dụng các mô đun 'DBD' thích hợp để giao tiếp với một cơ sở dữ liệu.Vì vậy, 'DBI' sẽ cần 'DBD :: mysql' để có thể giao tiếp với cơ sở dữ liệu MySQL. –

+0

@ Sinan - đó là một phần quan trọng của thông tin mà tôi đã thiếu. tôi có 'sử dụng DBI;' và 'DBI-> kết nối ('DBI: mysql: db', '', '', \% dbattr)' vì vậy tôi nghĩ rằng dbd là một mô-đun khác nhau hoàn toàn. cảm ơn cho thanh toán bù trừ rằng lên – CheeseConQueso

Trả lời

7

AFAIK, các phiên bản mới nhất của Strawberry đi kèm với DBD::mysql.

Ngoài ra, Strawberry Perl cung cấp ppm để cài đặt các gói nhị phân được biên dịch trước.

+0

Có, StrawberryPerl đi kèm với trình điều khiển cho MySQL, PostgreSQL và ODBC. Đơn giản chỉ cần cài đặt StrawberryPerl là đủ. – MichielB

+1

Thực ra, không nên sử dụng 'ppm' trên Strawberry để cài đặt các tệp nhị phân được biên dịch sẵn, chỉ cần biên dịch chúng bằng cpan hoặc cpanm và các công cụ xây dựng kèm theo. – MichielB

0

Nếu bạn đang tìm giải pháp "hoạt động", bạn có thể thử ActivePerl, nơi bạn có thể cài đặt DBD :: mysql như một nhị phân biên dịch trước qua ppm.

0

Ngoài ra còn có DWIM Perl chứa nhiều mô-đun bổ sung phổ biến như Moose, Dancer, Perl Critic, Perl Tidy và thậm chí cả IDE Perl - Padre.

Dường như việc sử dụng một trong các cài đặt này là phương pháp đơn giản nhất - vì bạn vẫn nhận được lợi ích khi có cpan hoạt động và tự biên soạn hầu hết các mô-đun cho perl của bạn. Lần cuối cùng tôi sử dụng perl + cpan của activestate Tôi nhớ sau khi cài đặt một số mô-đun thông qua cpan một loạt các công cụ ngừng làm việc vì vậy tôi đã từ bỏ nó. Cài đặt tất cả các gói thông qua ppm, hoặc sử dụng trình quản lý GUI ppm khủng khiếp của họ, không hợp với tôi như bất kể hệ thống tôi đang sử dụng theo bản năng sử dụng cpanm và muốn có tất cả các mô-đun được biên dịch/cài đặt theo cách Perl.

9

Tôi muốn cài đặt bugzilla trên máy tính Windows 7 cục bộ của mình và gặp sự cố tương tự với mysql.

Mặc dù cơ chế cập nhật tự động của dâu perl hoạt động tốt và cài đặt tất cả các gói bị thiếu, có vẻ như, như một phiên bản perl dâu nhất định (tôi đã sử dụng 5.16.1.1), trình điều khiển mysql có sự cố.

tôi sẽ nhận được một lỗi nói:

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.

Nhưng những tập tin cần thiết là có, vì vậy sau khi rất nhiều tìm kiếm trên web, tôi tìm thấy một giải pháp trong phần ý kiến ​​của một bài báo (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!"

Nó hoạt động!

Tôi hy vọng điều này sẽ giúp những người khác có cùng vấn đề.

+0

cảm ơn điều đó đã giúp! Tôi đã kiểm tra các thư mục và thấy một DLL trong đó nhưng không có ý tưởng rằng các DLL thứ hai cần thiết để sao chép có quá. Ngay khi tôi làm xong, Bugzilla đã làm việc! – paul

Các vấn đề liên quan