Oracle에 연결하기 위해 DBI 모듈을 사용하려면 LD_LIBRARY_PATH에 /oracle/v10.2.0/lib를 추가해야합니다.BEGIN 블록의 LD_LIBRARY_PATH 초기화가 실패합니다.
perl 스크립트를 실행하기 전에 쉘에서 LD_LIBRARY_PATH를 설정하면 모든 것이 정상입니다.
그러나이 스크립트에서 작동하지 않습니다
install_driver(Oracle) failed: Can't load '/usr/apps/perl5/site_perl/5.8.8/i686-linux/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.10.1: cannot open shared object file: No such file or directory at /usr/apps/perl5/5.8.8/i686-linux/DynaLoader.pm line 230. at (eval 3) line 3 Compilation failed in require at (eval 3) line 3. Perhaps a required shared library or dll isn't installed where expected at /var/tmp/getTraceDB.pl line 23
Exec이 올바른 방법이지만, 거기에 끝없는 반복을 할 수 있다고 생각합니다. 꼬리 조건이 없으므로 올바른 경로가'$ ENV {LD_LIBRARY_PATH} '에없는 경우에만 exec해야합니다. exec와 함께 – Axeman
이 작동합니다. 감사합니다. 유일한 문제는 perl 디버거 ("-d")가 더 이상 작동하지 않는다는 것입니다. exec는 곧바로 스크립트를 실행합니다 –
Greg Dan- 환영합니다. –