2010-07-02 4 views
1

로컬 Windows XP 시스템의 ANT 스크립트를 사용하여 UNIX 서버의/x/y/z 위치에서 .sql 파일을 실행하려고합니다. .sql 파일은 UNIX 서버에 있습니다. 나는 아래의 포스트 키 파일 오류 시도ANT를 사용하여 원격 서버에서 SQL 파일을 실행하는 방법

<target name="execute" > 
    <sshexec host="hostname" 
    username="UNIX system username" 
    keyfile="/export/home/appldev/.ssh/id_dsa" 
    commandResource="psql -f /u01/appldev/devappl/po/11.5.0/reports/xxbt/1.0.0/sql"/> 
    </target> 

:

Buildfile: C:\Program Files\Java\apache-ant-1.8.1\build.xml 

execute: 
    [sshexec] Connecting to server_IP:22 

BUILD FAILED 
C:\Program Files\Java\apache-ant-1.8.1\build.xml:49: com.jcraft.jsch.JSchExcepti 
on: connection is closed by foreign host 
:

<target name="execute" > 
    <sshexec host="server_ip" 
    username="server_uname" 
    password="server_pass" 
    command="touch abc"/> 
    </target> 

을 오류를 얻었다

내 Windows XP 시스템에서 개미 목표 아래를 사용했다

도와주세요.

+0

키 파일은 클라이언트 측에 있습니다 (Windows XP). 개인 키를 사용하여 암호 대신 클라이언트를 인증합니다. 자세한 내용은 Google "SSH 공개 키 인증"을 참조하십시오. – leedm777

+0

UNIX 서버에서 sshd가 실행 중입니까? SSH를 차단하는 방화벽 설정이 있습니까? – leedm777

답변

0

Ant sql task을 사용하십시오.

<sql 
    driver="org.database.jdbcDriver" 
    url="jdbc:database-url" 
    userid="sa" 
    password="pass" > 
    <transaction src="data1.sql"/> 
    <transaction src="data2.sql"/> 
    <transaction src="data3.sql"/> 
    <transaction> 
    truncate table some_other_table; 
    </transaction> 
</sql> 

편집 :

가 Windows XP 상자에서 파일에 액세스 할 수 있도록하려면, 당신은 많은 옵션을 가지고있다. 보안 설정과 암호를 묻는 Ant 또는 파일 시스템의 파일에 암호를 저장하는 방법에 대한 선택은 보안 설정에 달려 있습니다.

  1. Samba를 사용하여 UNIX 디렉토리를 노출 할 수 있습니다. 그런 다음 Windows에서 드라이브로 마운트 할 수 있습니다.
  2. UNIX 측에서 FTP 서버를 사용하여 파일을 노출하십시오. 그런 다음 FTP task을 사용하여 파일을 복사하십시오.
  3. scp task을 사용하여 SSH를 사용하여 파일을 복사하십시오.

또 다른 대안은 sshexec task을 사용하여 UNIX 서버에서 데이터베이스 클라이언트를 호출하는 것입니다.

<sshexec host="unix-host" 
    username="dbuser" 
    keyfile="${user.home}/.ssh/id_dsa" 
    commandResource="psql -f /x/y/z"/> 
+0

죄송합니다 - 충분히 자세히 읽지 않았습니다. 더 적용 가능하도록 편집합니다. – leedm777

+0

데이브 감사. 실제로 .sql 파일은 UNIX 서버에 있으며 ANT 명령을 사용하여 Windows XP 시스템에서 해당 파일을 실행하려고합니다. – Shaun

+0

@Shaun - 업데이트 된 답변이 도움이 되었기를 바랍니다. :-) – leedm777

관련 문제