2010-11-17 6 views
7

Szukam dobrego przewodnika z sekwencyjnymi i szczegółowymi krokami instalowania Perla Strawberry, MySQL i DBD :: mysql na Windows XP.Sekwencyjne kroki do zainstalowania Perl Strawberry, MySQL i DBD :: mysql na Windows XP

Głównym celem chcę osiągnąć jest, aby mieć możliwość tworzenia baz danych i wykonywanie regularnych działań przeciwko nim przez Perl Truskawki użyciu DBD :: mysql

mam znaleźć this tak daleko, ale to trochę przestarzały i nie chcę tego wszystkiego sprawdzać, żeby się przekonać, że to nie działa.

Najdalej zrobiłem (na innym komputerze), że Perl Strawberry jest zainstalowany i działa poprawnie, instaluje się MySQL i PRÓBA używa cpan DBD::mysql do zainstalowania modułu (który się nie powiódł, ponieważ nie mógł znaleźć MySQL - próbowałem również opcję --with-mysql=C:\path\to\mysql sugeruje to, ale to nie podlega programowi pracy dla mnie)

+0

Skończyło się na używaniu 'DBI' zamiast – CheeseConQueso

+0

Mówisz *" skończyło się na używaniu DBI "*. To jest dziwna instrukcja, ponieważ 'DBI' używa odpowiednich modułów' DBD' do komunikacji z bazą danych.Tak więc 'DBI' będzie potrzebował' DBD :: mysql', aby móc łączyć się z bazą danych MySQL. –

+0

@Sinan - to kluczowy element informacji, którego mi brakowało. Mam 'use DBI;' i 'DBI-> connect ('DBI: mysql: db', '', '', \% dbattr)' tak myślałem, że dbd był zupełnie innym modułem. dzięki za wyczyszczenie tego – CheeseConQueso

Odpowiedz

7

AFAIK, najnowsze wersje Strawberry dostarczane są w pakiecie z DBD::mysql.

Ponadto Strawberry Perl zapewnia ppm do instalowania wstępnie skompilowanych pakietów binarnych.

+0

Tak, StrawberryPerl zawiera sterowniki do MySQL, PostgreSQL i ODBC. Wystarczy zainstalować StrawberryPerl. – MichielB

+1

W rzeczywistości nie zaleca się używania "ppm" na Strawberry w celu instalowania skompilowanych plików binarnych, wystarczy je skompilować samodzielnie za pomocą cpan lub cpanm i dołączonych narzędzi do kompilacji. – MichielB

0

Jeśli szukasz rozwiązania można spróbować ActivePerl „po prostu działa”, w którym można zainstalować DBD :: mysql jako prekompilowany plik binarny za pomocą ppm.

0

Istnieje również DWIM Perl, który zawiera wiele popularnych modułów dodatkowych, takich jak Moose, Dancer, Perl Critic, Perl Tidy, a nawet Perl IDE - Padre.

Wygląda na to, że korzystanie z jednej z tych instalacji jest najłatwiejszą metodą - ponieważ nadal masz zalety posiadania działającego cpan i samodzielnego komponowania większości modułów dla perl. Ostatni raz użyłem perl + cpan firmy activestate. Pamiętam, że po zainstalowaniu niektórych modułów przez cpan, kilka rzeczy przestało działać, więc zrezygnowałem z tego. Zainstalowanie wszystkich pakietów za pomocą stron na minutę lub za pomocą ich strasznego menedżera GUI w ppm nie sprawdziło się we mnie, ponieważ niezależnie od systemu, w którym działam, instynktownie używam cpanma i chciałbym, aby wszystkie moje moduły skompilowały/zainstalowały sposób Perla.

9

Chciałem zainstalować bugzillę na moim lokalnym komputerze z Windows 7 i miałem podobny problem z mysql.

Mimo że automatyczny mechanizm aktualizacji truskawki perl działał świetnie i zainstalował wszystkie brakujące pakiety, wydaje się, że od pewnej wersji perl truskawkowej (użyłem 5.16.1.1), sterownik mysql ma problem.

bym się błąd mówiąc:

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.

Ale żądany plik był tam, więc po wielu poszukiwaniach w internecie, znalazłem rozwiązanie w komentarzach artykułu (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!"

To działa!

Mam nadzieję, że pomoże to innym osobom, które mają ten sam problem.

+0

dzięki, pomogło! Sprawdziłem katalog i zobaczyłem tam bibliotekę DLL, ale nie miałem pojęcia, że ​​druga biblioteka DLL również musi tam zostać skopiowana. Jak tylko to zrobiłem, Bugzilla zadziałała! – paul