2017-10-10 8 views
0

AS400의 테이블 데이터를 AS/400 명령을 통해 다른 시스템으로 내보내려고하지만 프로세스 중간에 스택됩니다. CSV 파일을 만드는 저장 프로 시저가 있지만 완료 후이 파일을 다른 컴퓨터 (물론 AS400에 연결됨)로 전송해야합니다.AS400에서 동일한 네트워크의 다른 시스템으로 파일 전송

저장 프로 시저에서 CPYTOIMPF 명령을 사용하여 테이블 데이터를 CSV로 내보내고 AS400 파일 시스템에 파일을 작성했습니다. 파일을 다른 컴퓨터에 직접 쓰는 옵션이 있는지 나는 모른다.

CALL QSYS2.QCMDEXC(
'CPYTOIMPF FROMFILE(LIBRARY/TABLE) TOSTMF('/QIBM/UserData/TestFolder/2.CSV') STMFCODPAG(*PCASCII) RCDDLM(*CRLF)' 
); 

이 단계가 완료되고 파일이 해당 디렉토리에 기록됩니다.

이제 위의 명령을 완료하지 않고이 파일을 AS400에 연결된 웹 서버로 전송해야합니다.

어떻게하면됩니까?

+0

다른 컴퓨터의 운영 체제는 무엇입니까? – mao

+0

windows server 2008 R2 – user715079

+0

그러면 AS400 (i- 시리즈)과 Windows- 서버간에 프로그래밍 된 파일 전송을 수행하는 방법이 궁금하십니까? Windows로 파일을 푸시하려면 i- 시리즈 상자를, i- 시리즈에서 파일을 가져 오려면 Windows를 계획 하시겠습니까? i- 시리즈가 푸시를 원한다면 SFTP (Windows- 서버가 서비스를 실행하는 경우)를 고려하십시오. – mao

답변

0

IBM i에서 FTP를 사용할 수 있습니다. 여기 IBM Knowledge Center

이로부터 변형 예는 CL 프로그램

PGM 
    OVRDBF FILE(INPUT) TOFILE(MYLIB/QCLSRC) MBR(FTPCMDS) 
    OVRDBF FILE(OUTPUT) TOFILE(MYLIB/QCLSRC) MBR(OUT) 
    FTP  RMTSYS(SYSxxx) 
ENDPGM 

이 프로그램 MYLIB/QCLSRC 부재 FTPCMDS의 스크립트에 FTP 클라이언트의 입력을 무시하고 MYLIB/QCLSRC에 FTP 클라이언트의 출력된다 회원 OUT. 스크립트의 첫 x 째 행에는 리모트 위치의 사용자 ID와 암호가 있어야합니다.

ITSO ITSO <== This is the user id and password 
CD ITSOLIB1 
SYSCMD CHGCURLIB ITSOLIB2 
GET QCLSRC.BATCHFTP QCLSRC.BATCHFTP (REPLACE 
QUIT 

이가 암호가 일반 텍스트로 전송 된 사용자 ID와 네트워크 외부 사용할 수 없습니다 : 여기

같은 지식 센터 참조의 샘플 스크립트입니다. 또한 프로덕션 사용자 ID와 암호를 원본 파일에 일반 텍스트로 저장해야하므로 보안 위험이 될 수 있습니다. 또한


는 스콧 KLEMENT는 IBM i에서 ssh, scpsftp을 사용하는 방법에 대한 프리젠 테이션을 가지고있다. 이것은 꽤 긴 일이므로, 그것에 대해 읽고 싶을 수도 있습니다 here.

간략한 요약은 scp이 가장 쉬운 방법 일 수 있다는 것입니다. 그러나 다음을 수행해야합니다 :

  1. OS의 OpenSSH 옵션이 설치되어 있는지 확인하십시오.
  2. Windows 서버가 ssh 서버로 설정되어 있는지 확인하십시오.
  3. 전송에 사용할 디지털 키를 설정하십시오. 개인 키는 클라이언트 측에서 진행되고 공개 키는 서버 측에서 진행됩니다.
  4. 파일을 전송하려면 Pase에서 scp fromfile [email protected]:tofile을 사용하십시오.