스풀 명령:SQL 문을 파일로 출력하지 않음
쿼리를 CSV 파일로 출력하고 싶고 아래를 작은 테스트로 사용하고 있습니다.
spool c:\test.csv
select /*csv*/ username, user_id, created from all_users;
spool off;
그러나 출력에는 실제 선택 문이 첫 번째 줄로 포함되어 있습니다.
> select /*csv*/ username user_id created from all_users
USERNAME USER_ID CREATED
REPORT 52 11-Sep-13
WEBFOCUS 51 18-Sep-12
이것을 예방할 방법이 있습니까?그럴 수도 있다고 생각하고 SET Heading Off를 시도했지만 변경되지 않았습니다.스크립트로 SQL Developer an running을 사용하고 있습니다.
고마워요 브루스
유감스럽게도 SQL Developer는 다음을 완전히 준수하지 않습니다.set echo off
SQL*Plus에서 이 문제를 해결하는 것처럼 보이는 명령입니다.
이에 대한 유일한 해결 방법은 스크립트로 수행 중인 작업을 저장하는 것입니다.test.sql
포함:
set echo off
spool c:\test.csv
select /*csv*/ username, user_id, created from all_users;
spool off;
그런 다음 SQL Developer에서 해당 스크립트만 호출합니다.
@test.sql
스크립트로 실행합니다(F5).
스크립트 파일로 저장하는 것은 애드혹 쿼리 이외의 다른 쿼리에 큰 어려움이 되지 않습니다.@
스크립트를 열고 직접 실행하는 것은 약간의 고통일 뿐입니다.
SQL Developer 포럼에서 약간의 검색을 통해 동일한 솔루션을 찾았는데, 개발 팀은 SQL*Plus가 수행하는 작업을 모방하는 것이 의도적인 행동이라고 제안했습니다. 이를 사용하여 스크립트를 실행해야 합니다.@
쿼리 텍스트를 숨기기 위해 여기에도 있습니다.
내 셸 스크립트는 sql 파일을 호출하고 실행합니다.스풀 출력의 시작 부분에 SQL 쿼리가 있고 그 뒤에 쿼리 결과가 있습니다.
이것으로 문제가 해결되지 않았습니다.
set echo off
이것은 나의 문제를 해결했습니다.
set verify off
(7년 이상이 지난 후) 이 문제에 발이 묶인 사람이라면 누구나...
이것은 저에게 효과가 있습니다... sqlplus를 호출하는 방식에 맞게 조정합니다.
sqlplus -s / as sysdba 2>&1 > /dev/null <<EOF
whenever sqlerror exit sql.sqlcode;
set echo off
set verify off
set feedback off
set term off
set head off
set pages 1000
set lines 200
spool /tmp/whatever.output
### Your_SQL_statement_here ###
example: select sysdate from dual;
example: select * from V\$LOGFILE;
spool off
EOF
여기서 -s 플래그는 스크립트를 실행할 때 SQL 문을 표시하지 않는 비결입니다.
set echo off
spool c:\test.csv
select /*csv*/ username, user_id, created from all_users;
spool off;
결과 grig에 내보내기 옵션을 사용하여 쿼리 결과를 직접 내보낼 수 있습니다.이 내보내기에는 내보낼 수 있는 다양한 옵션이 있습니다.이게 될 것 같아요.
Toad 또는 SQL Developer에서 쿼리 실행
---select /*csv*/ username, user_id, created from all_users;
.SQL 형식으로 "C" 드라이브에 저장
--- x.sql
명령을 실행합니다.
---- set serveroutput on
spool y.csv
@c:\x.sql
spool off;
언급URL : https://stackoverflow.com/questions/19033943/spool-command-do-not-output-sql-statement-to-file
'programing' 카테고리의 다른 글
Spring Data JPA에서 페이지 생성 (0) | 2023.07.05 |
---|---|
Oracle JDBC Thin Client 식별자 변경 (0) | 2023.07.05 |
SQL Server 데이터베이스에 auto_increment 기본 키를 추가하려면 어떻게 해야 합니까? (0) | 2023.07.05 |
로컬 커밋되지 않은 변경사항과 출처를 구분하는 방법 (0) | 2023.07.05 |
OpenCV – 보정되지 않은 스테레오 시스템의 깊이 맵 (0) | 2023.07.05 |