2013-04-13 2 views
45

sqlplus.exe 사용 sqlplus 출력을 파일에 작성하는 방법을 찾고 있습니다.파일에 sqlplus 출력 작성

어쨌든 제가 할 수 있습니까, 현재 출력은 콘솔에만 기록됩니다.

+2

답변에 제공된 'SPOOL' 명령은 [문서] (http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_six.htm#i1082570)에 설명되어 있습니다. –

답변

52

SPOOL 명령을 사용하여 정보를 파일에 쓸 수 있습니다.

는 명령은 다음과 같이 입력 실행하기 전에 :

SPOOL <output file path> 

모든 출력 파일에 기록됩니다 다음과 같은 출력을 명령한다.

는 또한 SPOOL 출력이 몇 SQLPLUS 설정에 의해 구동주의 명령 출력 쓰기 유형

SPOOL OFF 
29

를 중지하려면 다음

  • SET LINESIZE nn - 최대 선폭; 출력이 길면 각 결과 행의 내용을 표시하기 위해 줄 바꿈됩니다.

  • SET TRIMSPOOL OFF|ON - 기본값 인 OFF으로 설정하면 모든 출력 줄은 LINESIZE으로 채워집니다. ON으로 설정하면 모든 출력 라인이 다듬어집니다.

  • SET PAGESIZE nn - 헤더를 반복 할 때마다 출력 할 줄 수. 0으로 설정하면 헤더가 출력되지 않습니다. 그냥 세부 사항.

은 거물,하지만 당신은 단지 모든 SQLPLUS 잡담없이 출력을 원하는 경우 고려해야 할 몇 가지 다른 사람이있다.

2

스풀하려는 디렉토리에 대한 액세스 권한이 있는지 확인하십시오. 루트로 스풀하려고했으나 파일을 만들지 않았습니다 (예 : c:\test.txt). spool 명령을 실행하여 스풀링중인 위치를 확인할 수 있습니다.

+0

마지막 포인터는 spool 명령을 사용하여 설정 한 내용을 그대로 나타냅니다. 그것은 내가 원하는대로 완전한 절대 경로를 제공하지 않습니다. – ADTC

+0

이 작업은 linux에서도 가능합니까? 나는 내 linuxbox에/tmp 위치를 주려고했다. 하지만 오류가 발생했습니다 : 'SPOOL'이라는 기호가 있습니다. 이 문제를 해결할 수있는 방법이 있습니까? – uniquephase