Perl DBI로 Mysql 연동하는것 질문입니다.

ishtar의 이미지

DBI를 이용해 Perl에서 MySQL로 연동을 시도하려 하는데, 연결 자체가 안됩니다.

그것보다 DBI의 개념을 제대로 모르겠습니다..

(이런 무개념글 올려도 되려나요;;)

보통 어떤식으로 연결하는지 예제 하나만 알려주시면 감사하겠습니다.

좋은 하루 되세요 (_ _)

aero의 이미지

기본에 충실해서 해당 모듈 문서를 보면 자세한 설명과 예제가 있습니다.

DBI
http://search.cpan.org/perldoc?DBI

DBD::mysql
http://search.cpan.org/perldoc?DBD::mysql

간단하게 말하자면 아래 그림처럼

DBI는 DB interface이고
DBD는 DB driver입니다.

DBD로 각각의 DB종류에 따라 연결 드라이브를 작성하고
DBI는 그 위에서 동일한 인터페이스를 통해 DB에 접근하도록
추상화해주는 계층으로 보시면 됩니다.

PHP의 경우 DB에 따라 DB접속 함수가 mysql 이면 mysql_connect
Oracle이면 oci_connect등 처럼 DBI같은 추상화 계층 없이 구조적으로
중구난방인데 반해 Perl은 DB접근계층을 처음부터 체계적으로 설계했습니다.
따라서 경우에 따라 DB driver만 다르게 지정하면 DBI->connect라는 동일한
인터페이스를 통해 DB에 접속가능합니다.

그래서 Perl DBI를 모델로 삼아 Python의 DB Api나 Ruby의 DBI도 개발이
시작됐고 그 완성도를 높혀가고 있죠..