DB2 匯出DEL檔案的分隔符問題

2021-06-13 17:03:01 字數 934 閱讀 2647

在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  範圍內的字元。

匯出csv檔案時,處理分隔符問題

文章 csv檔案預設以英文逗號做為列分隔符,換行符作為行分隔符。如果不提供網頁形式只用命令列或二進位制程式輸出資料到csv,只需要將資料段按,分割,行按 n分割,寫入到乙個.csv檔案即可。但有時欄位裡含有,和換行符就麻煩了,資料輸出會出現混亂。這時可以使用雙引號 來將每個字段內容括起來,csv預設...

匯出csv檔案時,處理分隔符問題

csv檔案預設以英文逗號做為列分隔符,換行符作為行分隔符。如果不提供網頁形式只用命令列或二進位制程式輸出資料到csv,只需要將資料段按,分割,行按 n分割,寫入到乙個.csv檔案即可。但有時欄位裡含有,和換行符就麻煩了,資料輸出會出現混亂。這時可以使用雙引號 來將每個字段內容括起來,csv預設認為由...

匯出csv檔案時,處理分隔符問題

csv檔案預設以英文逗號做為列分隔符,換行符作為行分隔符。如果不提供網頁形式只用命令列或二進位制程式輸出資料到csv,只需要將資料段按,分割,行按 n分割,寫入到乙個.csv檔案即可。但有時欄位裡含有,和換行符就麻煩了,資料輸出會出現混亂。這時可以使用雙引號 來將每個字段內容括起來,csv預設認為由...