bash에서 SQL 스크립트를 실행 중입니다. 스크립트 중 하나가 정상적으로 실행되고 있지만 다른 스크립트는 실패합니다. 당신은 같은 것에 대한 원인이 될 수있는 조언을 해줄 수 있습니까?SQL 스크립트가 bash에서 실행되지 않습니다.
#!/bin/bash
sqlplus -S user/[email protected] << EOF
whenever sqlerror exit sql.sqlcode;
set echo off
set heading off
@MyScript1
@MyScript2
exit;
EOF
오류 : 이 SP2-0310: unable to open file "MyScript2.sql"
유닉스에서 모두에 대한 액세스 수준은 다음과 같습니다
-rwxrwxrwx MyScript1.sql
-rwxrwxrwx MyScript2.sql
오류는 파일 MyScript2.sql
에 액세스 할 수 없음을 표시를 준다. 하지만 내가 궁금한 점은 같은 폴더에있는 MyScript1.sql
에 액세스 할 수있는 방법은 무엇입니까? MyScript2.sql
은 아닙니까?
또한 파일이있는 폴더에서 unix (SQL * Plus를 사용하여) 파일을 실행해도 정상적으로 작동합니다. 하지만 다른 폴더에서 같은 폴더를 실행하면 그렇지 않습니다. 예를 들어 아래의
실제로 'MyScript1'의 명령이 실행됩니까? '@ MyScript1' 행을 주석 처리하면 어떻게됩니까? – 9000
예'MyScript1'이 실행됩니다. '@ MyScript1'을 주석 처리하면 'SP2-0310 : MyScript2 파일을 열 수 없습니다.'오류 만 표시됩니다.sql "' – misguided
내 말은 지금까지 'MyScript2.sql' 대'Myscript2.sql' 같은 이름의 오타가 있습니다.'MyScript2.sql '의 이름을 어떻게 든 다르게 바꾸려고 했습니까? – 9000