您好,登錄后才能下訂單哦!
DB2 export該怎么理解,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
EXPORT實用程序使用SQL select語句或XQUERY語句抽取數據,并將信息放到文件中。可使用輸出文件移動數據以便執行IMPORT或LOAD操作,或者將數據用于分析。
EXPORT TO filename OF { IXF | DEL | WSF }
[ LOBS TO lob-path[{,lob-path}…] ]
[ LOBFILE lob-file[{,lob-file}…] ]
[ XML TO xml-path[{,xml-path}…] ]
[ XMLFILE file-name[{,filename}…] ]
[ MODIFIED BY {filetype-mod …} ][ XMLSAVESCHEMA ]
[ METHOD N ( column-name[{,column-name}…] ) ]
[ MESSAGES message-file ]
{ select-statement | XQUERY xquery-statement |
HIERARCHY{ STARTING sub-table-name |
(sub-tablename[{,sub-table-name}…])
}
[ WHERE … ]
}
filetype-mod:
NODOUBLEDEL、LOBSINFILE、CHARDELx、COLDELx、DECPLUSBLANK、DECPTx、DATESISO、1、2、3、4、CODEPAGE=x、STRIPLZEROS、NOCHARDEL、LOBSINSEPFILES、XMLINSEPFILES、XMLCHAR、XMLGRAPHIC、XMLNODECLARATION、TIMESTAMPFORMAT=x
說明:1、對于大部分導出操作,需要提供SELECT語句指定需要進行檢索以便導出的數據。導出類型表時,不必顯式發出SELECT語句,而只需要指定層次結構中的子表遍歷順序。
2、MODIFIED BY filetype-mod文件類型修飾符提供了允許更改數據、日期和時間戳記或代碼頁格式之類的許多選項,或者已編寫特定數據類型以分隔文件。
3、METHOD參數可指定要用于已導出數據的不同列名。
4、消息文件:EXPORT會將錯誤消息、警告消息和參考消息寫至表中ASCII文本消息文件。MESSAGES參數指定這些文件的名稱。
5、因為EXPORT是嵌入式SQL應用程序并且以內部方式執行SQL訪存,所以應用于SQL操作的優化會同時應用于EXPORT實用程序。考慮采用大型緩沖池、建立索引和排序堆的好處,另外,通過將輸出文件放在容器和日志設備外部來盡量降低輸出文件爭用問題。
6、對參與導出操作的每個表或視圖,都必須具有DATAACCESS權限或者CONTROL或SELECT特權。
示例:
1、以IXF輸出格式將sample數據庫的STAFF表中有關Department 20的職員信息導出至exp_sampl_staff.ixf。
D:\>db2 export to exp_sampl_staff.ixf of ixf messages msgs.txt select * from staff where dept=20
導出的行數:4
2、將LOB導出到DEL文件。
D:\>db2 export to myfile.del of del lobs to d:\mylobs\ lobfile lobs1,lobs2 modified by lobsinfile select * from emp_photo
SQL3104N EXPORT 實用程序 正在開始將數據導出至文件 "myfile.del"。
SQL3105N Export 實用程序已經完成導出 "8" 行。
導出的行數:8
3、將LOB導出到DEL文件,對可能無法裝入到第一個目錄中的文件指定第二個目錄:
D:\>db2 export to myfile.del of del lobs to d:\mylobs1, d:\mylobs2 modified by lobsinfile select * from emp_photo
SQL3104N EXPORT 實用程序 正在開始將數據導出至文件 "myfile.del"。
SQL3105N Export 實用程序已經完成導出 "8" 行。
導出的行數:8
4、將數據導出到DEL文件,將單引號用作字符串定界符,分號用作列定界符,逗號用作小數點。
D:\>db2 export to myfile.del of del modified by chardel'' coldel; decpt, select * from staff
SQL3104N EXPORT 實用程序 正在開始將數據導出至文件 "myfile.del"。
SQL3105N Export 實用程序已經完成導出 "35" 行。
導出的行數:35
與不指定修飾符的文件內容進行對比:
D:\>db2 export to myfile2.del of del select * from staff
SQL3104N EXPORT 實用程序 正在開始將數據導出至文件 "myfile2.del"。
SQL3105N Export 實用程序已經完成導出 "35" 行。
導出的行數:35
部分內容對比如下:
myfile2: 10,"Sanders",20,"Mgr ",7,+98357.50,
myfile: 10;'Sanders';20;'Mgr ';7;+98357,50;
表導出注意事項:
1、如果出現下列任一情況,那么某些信息不會保存至已導出IXF文件:
l 索引列名包含十六進制值0x2B或0x2D。
l 該表包含XML列。
l 該表是多維集群表(MDC)。
l 該表包含表分區鍵。
l 由于代碼頁轉換,索引名長度超過128個字節。
l 該表是受保護的。
l EXPORT命令包含SELECT * FROM tablename以外的操作字符串。
l 對導出實用程序指定了METHOD N參數。
2、如果索引中指定的列名包含-或+字符,那么不會收集索引信息,并且將返回警告SQL27984W。EXPORT實用程序完成處理,并且不會影響已導出的數據。但是,索引信息未保存在IXF文件中。因此,您必須使用 db2look 實用程序來單獨創建索引。
3、如果導出的數據超過創建導出文件所在文件系統的可用空間量,導出操作會失敗。在這種情況下,應該通過在WHERE子句中指定條件來對選擇的數據量進行限制,以使已導出文件能夠存放在目標文件系統中。可以多次運行EXPORT以導出所有數據。
4、如果未使用IXF文件格式進行導出,那么輸出文件不包含目標表的描述,但它們包含記錄數據。要重新創建表及其數據,需創建目標表,然后使用LOAD或IMPORT實用程序填充該表。可使用db2look實用程序來捕獲原始表定義,并生成相應的DDL。
看完上述內容,你們掌握DB2 export該怎么理解的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。