2016-07-27 3 views
0

Linux에서 실행되는 Sybase 데이터베이스에서 쿼리를 실행하기 위해 Windows 배치 파일을 만들고 싶습니다.Sybase 데이터베이스에서 쿼리를 실행하는 중 Isql 명령 오류가 발생했습니다.

배치 파일 :

plink.exe -ssh [email protected]<IP> -pw <PW> -m C:\scripts\script1.bat -t > C:\scripts\testing.log 

script1.bat : 그것은 isql 명령까지 잘 작동하고

echo --- query 1 ----- 
cd /sybase/OCS-15_0/bin/ 
isql -Uimaldb_bkp -Pstart_bkp -SLinux1 -Dimaldb 
sp_helpsegment 
go 
exit 

는 testing.log 출력을 제공합니다

--- 질의 1 - --- bash : isql : 명령을 찾을 수 없습니다. bash : sp_helpsegment : 명령을 찾을 수 없습니다. bash : go : 명령을 찾을 수 없습니다.

답변

1

Sybase ASE에 필요한 환경 변수가 데이터베이스 서버 (사용자가 언급 한 Linux 서버)에 설정되면 'isql'이 작동합니다. 자세한 내용은 아래 링크를 확인하시기 바랍니다 : 간단한 노트에

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc35823.1570/html/uconfig/X30690.htm

, 'SYBASE.sh'내부 '/ 사이베이스'(I는 사이베이스가에서이 디렉토리에 설치되어있는 것 같아요라는 이름의 파일이 있어야한다 샘플 코드). Linux 서버에 연결하는 데 사용중인 사용자의 홈 디렉토리에있는 '.bashrc'파일을 편집하여이 파일의 소스를 가져와야합니다.

sql이 작동하려면 스크립트에서 sql 블록의 시작과 끝을 나타내는 플래그가 필요합니다. 다음을 시도하십시오 :

isql -Uimaldb_bkp -Pstart_bkp -SLinux1 -Dimaldb <<EOF 
sp_helpsegment 
go 
EOF 

당신은 대신 'EOF'

+0

안녕 sumitkd의 다른 단어를 사용할 수 있습니다 - 내가 ISQL가 존재 작업 디렉토리에서 명령을 제공하고 내 스크립트에 답장을 보내 주셔서 감사합니다 .... (cd/sybase/OCS-15_0/bin /) .. 심지어 환경 변수를 설정해야합니다. –

+0

예. 필수 항목입니다. 나는 그것이 어떻게 작동하는지 잘 모르지만 내 경험에 비추어'isql' 역시 제대로 작동하려면 환경 변수 중 일부가 필요하다고 믿는다. – sumitkd

+0

안녕하세요 sumitkd - 답장을 보내 주셔서 감사합니다. 배치 스크립트에서 환경 변수를 제공 한 후 오류가 발생하지 않았지만 여전히 쿼리를 실행할 수 없습니다. ..... 내 결과는 다음과 같습니다 ...... --- 쿼리 ----- - 환경 변수 완료 --- 1> –