소몰이님의 답변 정말 고맙습니다. 말씀하신데로 하니 이제 그와 같은 에러는 뜨지 않았습니다.
하지만 또다른 에러가 뜹니다. 아래는 또 다른 에러 메시지입니다.
DBI->connect(ORCL) failed: Error while trying to retrieve text for error ORA-12154 (DBD ERROR: OCIServerAttach) at /home/httpd/cgi-bin/tdbi.pl line 22
Couldn't connect to database: Error while trying to retrieve text for error ORA-12154 (DBD ERROR: OCIServerAttach) at /home/httpd/cgi-bin/tdbi.pl line 22.
tnsnames.ora 파일과 관련이 있는 것 같은데... 어떻게 해야 될지 모르겠습니다.
그리고 아래는 제가 쓴 프로그램 소스입니다.
#!/usr/bin/perl
use DBI;
BEGIN {
$ENV{ORACLE_HOME}='/home/oracle/OraHome1';
$ENV{LD_LIBRARY_PATH}='/home/oracle/OraHome1/lib';
$ENV{ORACLE_SID}='ORCL';
$ENV{ULIMIT}=2113674;
$ENV{TMPDIR}='/tmp';
}
$dbh = DBI->connect('DBI:Oracle:ORCL','scott','tiger') || die "Couldn't connect to database: ".DBI->errstr;
$sth = $dbh->prepare('SELECT * FROM dept') || die "Couldn't prepare statemnet: ".$dbh->errstr;
$sth->execute();
print "Content-type: text/html\n\n";
print <<bong;
<html>
<head>
<title>Hello</title>
</head>
<body>
<pre>
bong
while (@data = $sth->fetchrow_array()) {
print "Pencil: $data[0]\tBallpen: $data[1]\n";
}
print <<bong;
</pre>
</body>
</html>
bong
$dbh->disconnect;
기본 오라클 메뉴얼을 보면서 하는데, 이렇게 계속 문제에 부닥치니 정말 어찌할지를 모르겠습니다.
정확한 답변이 아니라도 좋습니다. 이런이런 자료를 참고하라거나, 무슨무슨 책을 보면 도움이 될 거라는 글이라도 좋습니다.
소몰이 님께서 쓰시길::
> 오라클 shared library를 찾지못하는 군요..
> 웹서버 시작 스크립트(apachectl)에
>
> ORACLE_HOME=....; export ORACLE_HOME
> LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib; export LD_LIBRARY_PATH
> 를 넣어주시던지...
>
> 아님
> $ORACLE_HOME/lib/libclntsh.so.8을
> /usr/lib로 복사해주시면 될겁니다.
>
> 둘다 해주면 확실하니 더 좋겠죠...
>
>
> 정봉화 님께서 쓰시길::
>
> > 오라클 8i를 설치하고 펄과 php를 이용하여 cgi프로그램과 연동할려고 합니다.
> > 하지만 셀상에서는 실행이 잘 되는데, 웹 브라우져 상에서는 이상하게 실행이 되지
> > 않습니다. 펄과 php 둘 다 마찬가지 입니다.
> > 물론 환경변수, DBD, DBI, 등등 설정하고 설치를 완변히 하였습니다.
> > 아래는 펄을 웹 상에서 실행할 때 나온 에러 메시지 입니다.
> >
> > install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.005/i386-linux/aut
> o/DBD/Or
> > acle/Oracle.so' for module DBD::Oracle: libclntsh.so.8.0: cannot open shared object file
> : No suc
> > h file or directory at /usr/lib/perl5/5.00503/i386-linux/DynaLoader.pm line 169.
> >
> > at (eval 1) line 3
> > Perhaps a required shared library or dll isn't installed where expected
> > at /home/httpd/cgi-bin/tdbi.pl line 22
> >
> > 여기서 line 22는 connect부분이 있는 곳입니다.
> >
> > 도대체 무었일 문제일까요. 지금 이 문제 같고 한 달 넘게 밤새가면서 연구하고 있
> > 습니다. 누구 아는 분 있으시면 알려 주시면 고맙겠습니다.
> >
> > 저도 많은 사람들에게 도움을 주기 위해 노력하겠습니다.
> >
> >
|