> > 이런이런 오라클과 펄연동에 관한 설치자료가 있어으면 하고
> > 순서가 어떻게 되는지 설명좀해주세요
>
> > 1오라클설치와
> > 2페치
> > 3환경설치
> > 4(oracle)계정
> > 5 oratab
> > 6 인스톨 시작
> > 7 리스너
> > 8...
> > 9...
>
> 여기까지는 일반적인 설치에 대한 내용입니다.
> 잡지나 기타 매체에 많이 소개되어 있으므로
> 이에 대한 내용은 생략합니다.
>
> > 10 dbi
> > 11 dbd
> > 12 perl연동테스트
>
> 제가 프세에 보냈던 자료를 인용합니다.
>
> 라. Perl의 DBI/DBD module 이용
>
> 그보다 더 편하고, 또 기존에 pgSQL이나 mySQL로 사용하던 code를 쉽게 Ora
> cle로
> 적용할 수 있는 것이 DBI module을 이용한 방법이다.(단, perl로 작성하신
> 분만 해당. ^^;)
> 일단, CPAN site에서 가서 DBI와 DBD module을 가져오자. (필자가 사용한 v
> ersion은
> DBD-Oracle-0.54와, DBI-1.02 이다)
>
> DBI를 compile하고, DBD를 compile한다.
> (순서에 주의. 또, perl 5.004이후 version이 필요하다.
> Alzza 5.1을 쓴다면, perl 5.004_04이다.)
>
> su - -> root로 login, perl library directory(/usr/lib/perl5) permissio
> n때문임.
> local에 설치한 경우는 불필요.
> . /usr/local/bin/oraenv
> export LD_LIBRARY_PATH=$ORACLE_HOME/lib
>
> mkdir src
> cd src
> tar zxf ../DBI-1.02.tar.gz
> tar zxf ../DBD-Oracle-0.54.tar.gz
>
> cd DBI-1.02/ -> DBI를 먼저 설치해야 한다.
> perl Makefile.PL -> pRPC를 요구하는 데, 이는 proxy server를 사용할 경
> 우 필요하다.
> make
> make test
> make install
> cp Driver.xst /usr/lib/perl5/site_perl/i386-linux/auto/DBI/ -> 왜 필
> 요한지 모름 ?.?
>
> cd ../DBD-Oracle-0.54/ -> DBD를 설치한다. 다른 DBMS용 DBD도 이런방법
> 으로 설치한다.
> perl Makefile.PL
> make
> make test
> make install
>
> 이제 perl에서 oracle을 접속하기 위한 준비는 다 되었다.
> 앞의 Pro*C에서 한 것과 똑같은 일을 하는 perl script를 짜보자.
> < 첨부 : test_dbi.pl >
>
> #!/usr/bin/perl
> use DBI;
>
> # ORACLE에 접속한다.
> my $userid = 'scott';
> my $passwd = 'tiger';
> my $dbh = DBI->connect('', $userid, $passwd, 'Oracle');
> # 여기에 MySQL, pgSQL을 넣으면,
> # 자연스럽게 MySQL이나 pgSQL용
> # perl 프로그램이 된다!
> unless($dbh) {
> warn "Unable to connect to Oracle ($DBI::errstr)\n";
> exit 0;
> }
>
> # Cursor를 선언한다.
> $query =
> "select TNAME, TABTYPE
> from TAB";
>
> my $sth = $dbh->prepare($query);
>
> unless($sth) {
> $dbh->disconnect;
> die "ERROR in prepare!\n";
> }
>
> # Cursor를 open한다.
> if ($sth->execute == 0) {
> $sth->finish;
> $dbh->disconnect;
> die "ERROR in execute!\n";
> }
>
> # Cursor로부터 한줄씩 읽어온다.
> while(($name,$type) = $sth->fetchrow){
> print "$name $type\n";
> }
>
> $sth->finish;
> $dbh->disconnect;
>
> tolkien입니다.
> 아 이런이런 답장감사해요
제가 실력이 없어서 인지 위에 있는대로 했는데 잘안돼네요
perl test결과
error in execute!
가 출력됩니다..
제가 제대로 한것인지 어디서 잘못됬는지 알구 싶어서요
위에 답장해주신 dbi::dbd버젼은 못구하고
dbi-1.13.tar.gz와 dbd-oracle-1.03을 깔았
습니다..
답장부탁해요??? 자료 있으면 감사하구요 헤롱
|