db2定界符


在DB2數據庫中,在導出DEL文件時,默認的字符分隔符是"、字段分隔符是, (逗號)。有一個需求是要為Oracle數據庫提供數據,因此就想使用“|”作為數據的字段分隔符。在查看了export的使用說明后,發現export的file-mod模式中可以通過CHARDELx和COLDELx,分別設置字符分隔符和字段分隔符。

    但是,當運行export to 'e:\test.txt' of del modified by chardel0x22 coldel0x7c select * from db2admin.test命令后,卻提示SQL3017N錯誤,錯誤描述信息如下:

SQL3017N  定界符無效,或使用多次。

說明: 

對於"定界"ASCII (DEL) 文件,發生以下兩種錯誤之一: 
*  對列定界符、字符串定界符或小數點字符指定的字符無效。 
   
   *  對於 SBCS 或 UTF-8 數據,定界符的有效范圍是 0x00 - 0x7F(包括 0x00
      和 0x7F 在內)。
   *  對於 MBCS 數據,定界符的有效范圍是 0x00 - 0x3F(包括 0x00 和 0x3F 
      在內)。
   *  對於 EBCDIC MBCS 數據,定界符的有效范圍是 0x00 - 0x3F(包括 0x00 
      和 0x3F 在內),但是,有一種例外情況就是,定界符不能為 SHIFT-OUT
      (0x0E)或者 SHIFT-IN(0x0F)字符。

*  為多個前述項目指定了同一個字符。

無法處理該命令。

用戶響應: 

檢查指定的定界符的有效性和唯一性。重新提交該命令,並指定有效的定界符覆
蓋。

 

    原來,導出文件的分隔符是和數據庫的代碼頁有關聯的,即在代碼頁為819的數據庫下,可以使用任何的字符(ASCII碼)作為數據的分隔符,但是代碼頁為1386的數據庫只能使用ASCII碼值在0x00 - 0x3F  范圍內的字符。

比如:db2 "export to test2.txt of del modified by coldel0x7F codepage=1208 nochardel select * from test"

還有一個要注意的問題:db2只支持單字符的列分隔符(coldel)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM