oracle export result ออกไปในรูปแบบ .txt

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

ภาพประจำตัวสมาชิก
jataz2
PHP Hero Member
PHP Hero Member
โพสต์: 180
ลงทะเบียนเมื่อ: 22/02/2011 11:48 am

oracle export result ออกไปในรูปแบบ .txt

โพสต์โดย jataz2 » 11/11/2016 2:08 pm

เราสามารถ export data จาก query ออกไปเป็น .txt ไฟล์ได้ หลายวิธี

1. ใช้ toad run query แล้ว export result ออกไปได้ ข้อดีคือง่าย ข้อเสียคือ ถ้าจำนวน แถวที่ต้อง export ออกไปมามาก เป็นล้านแถว จะกิน memory

2. ใช้ sql plus คำสั่ง spool เพื่อพ่น result ออกไปเป็นไฟล์ได้ ข้อดีคือ ไม่กิน memory และเร็ว

สร้าง queryExportCustomer.sql ที่มีหน้าตาดังข้อความด้านล่าง แล้ว save ไว้ที่ D:\sql\queryExportCustomer.sql

โค้ด: เลือกทั้งหมด

set newpage none
set colsep |    --[ ต่อแตะละ column ด้วยเครื่องหมาย |]
set feedback off --[ON เเปะจำนวน row ที่มีทั้งหมดที่ พ่นไฟล์ออกมา จะแปะไว้ต่อท้ายสุด ล่างสุดในไฟล์ .txt ]
set echo off
set pages 0
set lines 32767   
SET TRIMSPOOL ON
set termout OFF   --[ON คือแสดงผลลัพท์ออกหน้าจอ dos ด้วย ข้อความที่จะพ่นลง .txt render ข้อความให้ดูบนหน้า dos ด้วย , OFF คือปิด ไม่ต้องต้องแสดงออก dos พ่นลง .txt ไฟล์ตรง ข้อดีคือจะไวมากๆ เพราะไม่ต้อง render ข้อความออกหน้าจอ dos]
spool 'D:\data\Customer.txt'
select card_id,fullname_th from tb_customer;
spool off;
exit



วิธีใช้ก็ คือ เปิด dos command แล้วพิมพ์
1. c:\>D:\oracle\product\10.2.0\client_1\BIN\sqlplusw.exe dbUserName/dbPassword@10.0.0.1:1530/CUSTOMERDB
จากนั้นกด enter จะเข้าสู่ sqlplus dos prompt

2. sqlplus :\> set NLS_LANG=AMERICAN_AMERICA.TH8TISASCII
set language ให้รองรับภาษาไทย มิเช่นนั้น ไฟล์ที่พ่น ออกไปสู่ .txt ถ้ามีภาษาไทย จะแสดงเพี้ยนเป็นภาษาต่างดาว

3. ไปสร้าง D:\data\Customer.txt รอไว้ เป็น .txt file เปล่าๆ

4. sqlplus :\> @"D:\sql\queryExportCustomer.sql"
พิมพ์ แล้วกด enter มันจะสั่งให้รัน sql ตามพาธที่ระบุ ซึ่งก็คือ คำสั่งการ พ่น result ที่ได้จากการ query ไปที่ .txt ไฟล์ตามพาธที่ระบุไว้

Photee

Re: oracle export result ออกไปในรูปแบบ .txt

โพสต์โดย Photee » 25/01/2017 9:45 am

ถ้าในไฟล์ SQL ต้องการให้มีตัวแปรมารับค่า เพื่อนำไปเป็นเงื่อนไขในการ Query ต้องทำยังไงค่ะ รบกวนท่านผู้รู้ด้วยค่ะ

Photee

Re: oracle export result ออกไปในรูปแบบ .txt

โพสต์โดย Photee » 25/01/2017 10:54 am

ถ้าใน SQL ต้องการให้มีตัวแปรรับค่า แล้วนำค่านั้นไปใช้เป็นเงื่อนไขในการ Query ต้องเขียนยังไงคะ รบกวนด้วยค่ะ


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 1 และ บุคคลทั่วไป 0 ท่าน