2014-10-04 4 views
2

Windows 7 64 비트 시스템에서 perl 5.18.1.1800 (ppm 4.19)을 사용하고 있습니다.Perl 5.18.xx 용 DBI-mysql 설치

perl에서 mysql에 액세스하려면 DBD-mysql을 사용해야합니다. 하지만 오류 메시지가 아래 얻을 :

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

install_driver (MySQL은) 실패 : @INC에 DBD/mysql.pm를 찾을 수 없습니다 (당신 는 DBD :: mysql을 모듈을 설치해야 할 수도 있습니다)

그래서 DBD-mysql을 설치하려고했으나 내 PPM에 나열된 항목이 없습니다. 내가 설치하려고 할 때 명령 행에서, 나는 오류가 아래 얻을

ppm install DBD-mysql 

ppm의 설치 실패 : I 다운로드하고 설치하려고

DBD-mysql을 제공하는 모든 패키지를 찾을 수 없습니다 그것,하지만 내가 가지고 있지 않은 C 컴파일러가 필요합니다.

DBD-mysql info page에서 모듈에 대한 Perl 5.18 지원은 언급되어 있지 않습니다.

다시 말해서 5.16.xx로 되돌리려해야합니까 아니면 다른 문제입니까?

감사합니다.

답변

2

DBD-MySQL은 ActivePerl의-5.16.3.1604 사용할 수 있습니다. 이 버전으로 되 돌리는 것은 컴파일러를 설치하여 직접 패키지를 빌드하는 것보다 간단합니다.

은 ActiveState는 DBD는-mysql을 구축하려면 Visual Studio를 사용 : http://ppm4.activestate.com/MSWin32-x86/5.16/1600/C/CA/CAPTTOFU/DBD-mysql-4.022.d/log-20120830T032945.txt

enter image description here

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 
+0

'실행 C가 : \> PPM은 DBD는-mysql' 명령 프롬프트에서 완벽하게 작동 설치를! – Navigatron

0

모듈의 이름은 DBI입니다. 사용해보십시오 :

ppm install DBI 

* 면책 조항 : 나는 펄 아니라 리눅스, 윈도우에 펄을 사용하지 않은, 그래서 "PPM 모듈 이름을 설치"되어 PPM을 사용하는 구문을 가정한다.

또한, 올바른 구문 이하는 다음과 같습니다

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