스풀 명령: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 offSQL*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 |