2014-07-23 3 views
0

스케쥴 할 수 있도록 쉘 스크립트를 작성하고 싶습니다. 내가 수동으로 지금 두번째 명령을 실행하면쉘 스크립트에서 dbisql을 사용하여 데이터베이스에로드하는 방법은 무엇입니까?

(dbname)> 

, 그것은 잘 작동 :

dbisql -nogui -host host1 -port 2740 -c "uid=user;pwd=password" 
LOAD TABLE dbname.tablename(col1,...,coln) USING CLIENT FILE .... 

가장 큰 문제는 첫째 명령 dbisql 후, 터미널이 될 것입니다. 그러나 쉘 스크립트가 중지됩니다. 이 상황에서 어떻게 진행할 것인가?

참고 : 저는 잘 알고 있습니다 만 해결할 수있는 유일한 방법일까요? 가능하다면 다른 데이터베이스에 대해 일반화하지 않으려합니다.

답변

0

해결 방법이 있습니다. 그것은 다른 (script.sql) 파일을 만들고 명령로드 테이블을 복사 한 다음 동일한 명령에서 해당 스크립트 자체를 인수로 전달하는 것입니다.

dbisql -nogui -host host1 -port 2740 -c "uid=user;pwd=password" script.sql 

원본 문제를 해결하려면 종료를 추가하십시오. 그러나 더 일반적인 이유 때문에 위의 방법이 더 마음에 들었습니다.

관련 문제