시작페이지로 즐겨찾기추가
로그인
회원가입 l 출석체크 l 마이페이지 l CGIMALL
자료실 사이트등록 랭킹100 프로그램리뷰 관리자추천자료 초보가이드
커뮤니티
전체 펼쳐보기
퀵메뉴링크 jquery , CSS , PHP , Javascript , 무료폰트 , ASP
상세검색
> 커뮤니티 > 골드팁 상세보기
커뮤니티 구인구직
사이트등록
현재접속자 새로고침
게시판타이틀 골드팁 / 상세보기
트위터로 보내기 미투데이로 보내기 싸이월드 공감
추천수 187 | 조회수 4,453 | 등록일 2000-11-21 00:00:27

닉네임

HappyCGI

제목

1. Perl DBI 설치하기
내용
해피CGI 웹마스터 윤영웅입니다.

우선 perl 와 mysql의 연동의 개념적인 것 부터 설명을 하겠습니다.
http://www.happycgi.com/index.cgi?action=main&category=데이타베이스_창고/MySQL/MYSQL_자료/APIs/PERL_DBI

위 URL로 가보면 4개의 파일이 올라와 있습니다.
이는 DBI란 것으로 perl이 준 sql 명령어을 sql로 보내주는 역활을 합니다.
당연히 DBI 가 깔려있지 않으면 perl과 sql은 서로 연동이 될수 없겠죠?
(모든 언어는 거의 같은 형태를 취합니다. 방법상으로 약간씩 다르죠)

DBI 설치는 서버의 root가 해야 하며 자신이 서버를 운영하고 있지 않을
경우에는 담당서버관리자님께 연락을 해서 펄 DBI 설치를 해달라고
요청을 하셔야 합니다.
만약 서버관리자님께서 "그게 뭐예요?"  하신다면
호스팅 회사를 바꾸시는게 낫겠습니다. ^^;;;

우선 네개의 파일을 다운 받습니다.
http://search.cpan.org 에서 받으시면 되고, 최신버젼을 받으십시오.
서버의 /tmp 디렉토리에 4개의 파일을 올립니다.
텔넷으로 접속한후 루트로 재로긴합니다.
설치 순서는

[인용글]
1. Data-ShowTable-3.3.tar.gz
2. Data-Dumper-2.101.tar.gz
3. DBI-1.13.tar.gz
4. Msql-Mysql-modules-1.2209.tar.gz


로 하면 됩니다.

각각의 설치 법은 동일하므로 한번만 설치법을 알려드리겠습니다.
나머지는 같은 방법으로 하시면 됩니다.


[인용글]
1.Data-ShowTable-3.3.tar.gz 의 압축을 풉니다.
텔넷> tar xvfz Data-ShowTable-3.3.tar.gz

2. 압축이 풀리면서 디렉토리가 새로 생깁니다.
3. 생성된 디렉토리로 들어갑니다.
4. perl Makefile.PL 이라고 입력
5. make 라고 입력
6. make test 라고 입력
7. make install 라고 입력


같은 방법으로 나머지 3개의 모듈도 설치를 합니다.

DBI 가 설치되었는지 샘플 cgi로 테스트를 해볼까요?
아래는 test.cgi 입니다.
복사하셔서 테스트해보세요.

우선 mysql 에 아이디를 test 패스를 test로 가정을 하고
sql DB 이름을 testdb
그리고 테이블 명은 first
컬럼은 name varchar(20), email varchar(20) 으로 가정합니다.
값들은

윤영웅|webmaster@happycgi.com
손님 |guest@test.com

이란 두개의 값이 있다고 가정을 하구요.

참고로 sql 문법을 모르면 연동을 불가능하겠죠. ^^

아래는 샘플 cgi입니다. 보면서 설명을 하죠.


[프로그램코드]
#!/usr/bin/perl
#########################################################
use DBI; #DBI란 모듈을 사용한다고 선언합니다.
$database = "testdb";
$hostname = "localhost";
$dsn = "DBI:mysql:database=$database;host=$hostname";
$user = "test";
$pw = "test";
$dbh = DBI->connect("$dsn", "$user", "$pw");
#########################################################
print "content-type:text/html\n\n";

#DB 커넥팅을 시도합니다.
#이름이 공백이 아닌것들을 불러냅니다.

$sth = $dbh->prepare("select * from first where name is not null or die print "$DBI::errsrt";
$sth->execute();
#@rows = $sth->fetchrow_array 란 $sth 에서 받은 값들을
#배열로 받아 보겠다는 말입니다.
#현재 컬럼이 두개니까 배열 0번과 1번을 각각
#$name 이란 변수와 $email 이란 변수로 지정을 하고
#출력을 합니다.

while (@rows = $sth->fetchrow_array) {
$name = $rows[0];
$email = $rows[1];
print "이름 : $name 이메일 : $email
\n";
}


이름과 이메일이 정상적으로 출력이 되면 DBI가 잘 설치 된것입니다.
만약 어떤 오류 메세지를 보인다면 DBI에서 출력되는 에러 메세지
입니다.
메세지를 잘 보시고 어떻게 에러가 났는지 파악을 한후 다시
실행을 하셔야 합니다.
이번 첫번째 강좌는 이렇게 마칩니다.

좋은 하루되세요.
날씨 요즘 무지 춥군요. ^^

Copyright 1997-2003 HAPPYCGI All Rights Reserved.
추천스크랩소스보기 목록
HappyCGI 2003-01-07 00:15:50
답글

1번 과 2번은 순서를 바꾸셔도 됩니다

이전게시글 펄 강좌 진도 계획표 2000-11-20 23:48:22
다음게시글 1-1. perl DBI ,DBD(오라클) 셋팅하기 2000-11-27 05:37:30