오라클 12c을 Amazon Web Services EC2의 인스턴스에서 사용 중입니다.오라클에서 CSV로 데이터 내보내기
5M 레코드가있는 Oracle 테이블에서 CSV 형식의 로컬 폴더로 데이터를 내보내려고합니다.
Redhat/bash 환경에서 신속하게이를 수행 할 스크립트 또는 프로그램이 있습니까?
최소한의 설치 및 설정이 필요합니다.
오라클 12c을 Amazon Web Services EC2의 인스턴스에서 사용 중입니다.오라클에서 CSV로 데이터 내보내기
5M 레코드가있는 Oracle 테이블에서 CSV 형식의 로컬 폴더로 데이터를 내보내려고합니다.
Redhat/bash 환경에서 신속하게이를 수행 할 스크립트 또는 프로그램이 있습니까?
최소한의 설치 및 설정이 필요합니다.
빨리 원합니까? 간단한 SPOOL SQLPlus 명령은 어떻습니까? 당신은 예뻐 다른 SET 명령 (유형 도움말 SET SQLPLUS 명령 프롬프트에서)를 사용하여 만들 수 있지만, 일반적인 개념은 다음과 같다 :
SQL> set colsep ','
SQL> spool emp.csv
SQL> select employee_id, first_name, last_name
2 from employees
3 where rownum < 5;
EMPLOYEE_ID,FIRST_NAME ,LAST_NAME
-----------,--------------------,-------------------------
100,Steven ,King
101,Neena ,Kochhar
102,Lex ,De Haan
103,Alexander ,Hunold
SQL> spool off;
SQL> $type emp.csv
SQL> select employee_id, first_name, last_name
2 from employees
3 where rownum < 5;
EMPLOYEE_ID,FIRST_NAME ,LAST_NAME
-----------,--------------------,-------------------------
100,Steven ,King
101,Neena ,Kochhar
102,Lex ,De Haan
103,Alexander ,Hunold
SQL> spool off;
SQL>
한 다음 확인을
[OP의 코멘트를보고 난 후에, LF에 의해 편집] 그 노력을하지 않았고 SET가 제공하는 것을 조사 했으므로 여기에 간다. 깨끗한 결과를 얻고 싶다면 (표제, 밑줄, SELECT 명령 등), SQL 파일을 만든다. SQL) :
SET ECHO OFF
SET VERIFY OFF
SET TRIMSPOOL ON
SET TRIMOUT ON
SET LINESIZE 9999
SET PAGESIZE 0
SET FEEDBACK OFF
SET TIMING OFF
SET TIME OFF
SET COLSEP ','
SPOOL emp.csv
SELECT employee_id, first_name, last_name
FROM employees
WHERE rownum < 5;
SPOOL OFF
이제 SQLPlus에 연결하고 해당 스크립트를 실행하십시오.
SQL> @sp
100,Steven ,King
101,Neena ,Kochhar
102,Lex ,De Haan
103,Alexander ,Hunold
SQL>
마지막으로 EMP.CSV를 살펴보면 멋지고 깨끗함을 알 수 있습니다.
만족하십니까?
이것은 출력으로 정확한 CSV 형식을 제공하지 못했습니다. 많은 헤더, 대시, 열 구분선 등이있었습니다. 깨끗한 CSV 형식을 얻는 방법이 있습니까? 감사.. – Joe
검색을 사용하십시오. 이미 다뤘던이 질문에 대한 12 가지 변형이 있어야합니다. https://stackoverflow.com/questions/19448322/directly-export-a-query-to-csv-using-sql -developer/19448806 – thatjeffsmith