perl에서 sqlplus 명령을 통해 sql 연결을 확인하려고합니다. 다음 코드를 사용하여이 작업을 수행했습니다.perl에서 sqlplus 명령을 실행하십시오.
print "Befores\n";
$rc=system("sqlplus system/system @sqlfile.sql");
print "After $rc\n";
sleep(10);
이번에는 rc의 반환 값이 0입니다. 하지만 내가 잘못된 자격 증명을 줄 때. sqlfile.sql 파일에는 sql 명령 'EXIT'만 포함됩니다.
$rc=system("sqlplus systemabc/system @sqlfile.sql");
이 수동으로 자격 증명이 잘못하고, 리턴 코드 0으로 끝나는하지만. 이 문제를 도와주세요 ...
미리 감사드립니다. :)
http://perldoc.perl.org/functions/system.html에 따르면 $? 당신이 찾고있는 정보를 줄 수 있습니다. –
'@ sqlfile'은 보간하려는 실제 Perl 배열입니까, 아니면 실수입니까? 당신은'use strict; 그런 경고를 잡으려고. " 또한,'system'은 명령의 출력을 반환하지 않고 종료 상태를 반환합니다. 출력을 원하면 backticks 나'qx()'를 사용하십시오. – TLP
@TLP : http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch3.htm#sthref798에 따르면 OP는 sqlplus가 sqlfile 파일에서 sql 명령을 실행하도록 올바른 구문을 사용하고 있습니다. SQL. –