음 하나는 잡았군요..
tnsnames.ora는 다른 서버로 접근 할때 필요합니다.
웹서버와 디비서버가 분리 되어 있다면 tnsnames.ora를 셋업해 줄 필요가 있습니다.
그리고 환경변수 하나를 더 셋업해 보십시요..
TNS_ADMIN=$ORACLE_HOME/network/admin;export TNS_ADMIN
정봉화 님께서 쓰시길::
> 소몰이님의 답변 정말 고맙습니다. 말씀하신데로 하니 이제 그와 같은 에러는 뜨지 않았습니다.
> 하지만 또다른 에러가 뜹니다. 아래는 또 다른 에러 메시지입니다.
>
> DBI->connect(ORCL) failed: Error while trying to retrieve text for error ORA-12154 (DBD ERROR: O
> CIServerAttach) 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: ".D
> BI->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;
>
> 기본 오라클 메뉴얼을 보면서 하는데, 이렇게 계속 문제에 부닥치니 정말 어찌할지를 모르겠습니다.
> 정확한 답변이 아니라도 좋습니다. 이런이런 자료를 참고하라거나, 무슨무슨 책을 보면 도움이 될 거
> 라는 글이라도 좋습니다.
>
|