程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> infobright導入數據遇到特殊字符報錯的解決方法

infobright導入數據遇到特殊字符報錯的解決方法

編輯:關於MYSQL數據庫

目前在用的是社區版的infobright,不支持DML功能,只能用LOAD DATA方式導入數據。

如果元數據中有特殊控制字符,導入過程中經常會報錯,很是惱火。應對策略有兩種方法:

1.設置Reject File導入之前,設定 @BH_REJECT_FILE_PATH 和 @BH_ABORT_ON_COUNT 就可以忽略多少條導入失敗的記錄,並且將這些記錄保存在指定文件
復制代碼 代碼如下:/** when the number of rows rejected reaches 10, abort process **/

set @BH_REJECT_FILE_PATH = '/tmp/reject_file';

set @BH_ABORT_ON_COUNT = 10;

BH_ABORT_ON_COUNT 設定為 -1 的話,表示永不忽略。

也可以設置 BH_ABORT_ON_THRESHOLD 選項,該選項表示有最多多少百分比的數據允許被忽略,因此該選項的值是小數格式,例如 BH_ABORT_ON_THRESHOLD = 0.03(表示3%)

2.導出時指定結束符此外,還可以在導出數據時制定結束符,並且設定忽略哪些轉義字符(\、”、' 等字符),例如:
復制代碼 代碼如下:select fields_list... into outfile '/tmp/outfile.csv' fields terminated by '||' ESCAPED BY '\\' lines terminated by '\r\n' from mytable;

3.或者,將行間隔符設定為其他特殊標識,例如:select fields_list… into outfile ‘/tmp/outfile.csv' fields terminated by ‘||' ESCAPED BY ‘\\' lines terminated by ‘$$$$$\r\n' from mytable;當然了,這種情況下,實際數據行中就不能存在 “$$$$$\r\n” 這個值了,否則會被當成換行標識。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved