EXPORT 實用程序概述
EXPORT 實用程序使用一條 SQL SELECT 語句或 XQUERY 語句將數據從數據庫表提取到一個文件中。數據可以被導出到 DEL、IXF 或 WSF 文件中。建議在 export 中包括 MESSAGES 子句,以捕獲導出過程中遇到的錯誤、警告和包含有用信息的消息。
要想成功地調用 EXPORT 實用程序,必須擁有 SYSADM 或 DBADM 權限,或者擁有 EXPORT 命令中所訪問的表或視圖上的 CONTROL 或 SELECT 特權。
對於 DB2 9.1 中新引入的基於標簽的訪問控制(LBAC)支持,需要注意 LBAC 憑證,它可能允許也可能不允許訪問受保護的行和/或列。當從一個包含受保護行的表中導出數據時,LBAC 憑證可能限制被導出的行。如果您不具備對某個行的讀訪問權限,那麼就不能導出這個行。這種情況下並不會給出任何錯誤或警告。然而,如果 LBAC 憑證不允許讀取導出中包含的一個或多個受保護的列,那麼導出將失敗,並返回一個錯誤。
我們來看看一個簡單的導出的例子。下面的命令將 SELECT 語句的結果導出到一個 DEL 格式的文件中。消息文件 msg.out 用於記錄有用的信息和遇到的錯誤或警告:
EXPORT TO myfile.del OF DEL
MESSAGES msg.out
SELECT staff.name, staff.dept, org.location
FROM org, staff
WHERE org.deptnumb = staff.dept;
文件類型修飾符
在前面的例子中,數據被提取到一個 DEL 格式的文件中。默認情況下,列值之間以逗號(,)隔開,字符串以雙引號(")括起來。如果被提取的數據已經包含逗號和雙引號,那麼會怎麼樣呢?在這種情況下,導入或裝載實用程序不可能確定哪些符號是實際的數據,哪些符號是分界符。為了定制 EXPORT 如何操作,可以使用 MODIFIED BY 子句,並指定您想用文件類型修飾符更改哪些方面。下面是帶 MODIFIED BY 子句的 EXPORT 命令:
EXPORT TO file_name OF file_type
MODIFIED BY file_type_modifIErs
MESSAGES message_file
select_statement
在 Command Reference Guide 中的 EXPORT 小節下,可以找到文件類型修飾符的完整列表。下面列出了一些常用的修飾符:
chardelx
指定 x 作為新的單字符字符串分界符。默認值是一個雙引號(")。
coldelx
指定 x 作為新的單字符列分界符。默認值是一個逗號(,)。
codepage=x
指定 x (一個 ASCII 字符串)作為輸出數據的新的碼頁(code page)。在導出操作期間,字符數據被從應用程序碼頁轉換成這種碼頁。
timestampformat="x"
x 是源表中時間戳的格式。
考慮這個例子:
EXPORT TO myfile.del OF DEL
MODIFIED BY chardel! coldel@ codepage=1208 timestampformat="yyyy.mm.dd hh:mm tt"
MESSAGES msg.out
SELECT * FROM schedule
前面的命令按照以下方式將 SCHEDULE 表中的數據導出到 DEL 格式的文件中:
字符串以感歎號(!)括起來。
列之間以 @ 符號分隔開。
將字符串轉換成碼頁 1208。
SCHEDULE 表中用戶定義的時間戳的格式為 yyyy.mm.dd hh:mm tt。