infobright導(dǎo)入數(shù)據(jù)遇到特殊字符報錯的解決方法
目前在用的是社區(qū)版的infobright,不支持DML功能,只能用LOAD DATA方式導(dǎo)入數(shù)據(jù)。
如果元數(shù)據(jù)中有特殊控制字符,導(dǎo)入過程中經(jīng)常會報錯,很是惱火。應(yīng)對策略有兩種方法:
1.設(shè)置Reject File導(dǎo)入之前,設(shè)定 @BH_REJECT_FILE_PATH 和 @BH_ABORT_ON_COUNT 就可以忽略多少條導(dǎo)入失敗的記錄,并且將這些記錄保存在指定文件
set @BH_REJECT_FILE_PATH = '/tmp/reject_file';
set @BH_ABORT_ON_COUNT = 10;
BH_ABORT_ON_COUNT 設(shè)定為 -1 的話,表示永不忽略。
也可以設(shè)置 BH_ABORT_ON_THRESHOLD 選項,該選項表示有最多多少百分比的數(shù)據(jù)允許被忽略,因此該選項的值是小數(shù)格式,例如 BH_ABORT_ON_THRESHOLD = 0.03(表示3%)
2.導(dǎo)出時指定結(jié)束符此外,還可以在導(dǎo)出數(shù)據(jù)時制定結(jié)束符,并且設(shè)定忽略哪些轉(zhuǎn)義字符(\、”、' 等字符),例如:
3.或者,將行間隔符設(shè)定為其他特殊標(biāo)識,例如:select fields_list… into outfile ‘/tmp/outfile.csv' fields terminated by ‘||' ESCAPED BY ‘\\' lines terminated by ‘$$$$$\r\n' from mytable;當(dāng)然了,這種情況下,實際數(shù)據(jù)行中就不能存在 “$$$$$\r\n” 這個值了,否則會被當(dāng)成換行標(biāo)識。
相關(guān)文章
MySQL學(xué)習(xí)第六天 學(xué)習(xí)MySQL基本數(shù)據(jù)類型
MySQL學(xué)習(xí)第六天和大家一起學(xué)習(xí)MySQL基本數(shù)據(jù)類型,基本類型包括數(shù)值類型、日期和時間類型和字符串類型等,感興趣的小伙伴們可以參考一下2016-05-05
MySQL運行報錯:“Expression?#1?of?SELECT?list?is?not?in?GR
這篇文章主要給大家介紹了關(guān)于MySQL運行報錯:“Expression?#1?of?SELECT?list?is?not?in?GROUP?BY?clause?and?contains?nonaggre”的解決方法,文中將解決方法介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
idea連接mysql數(shù)據(jù)庫失敗的幾種解決方案
我們在學(xué)習(xí)Mybatis時需要連接Mysql數(shù)據(jù)庫,使用IDEA無法連接mysql數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于idea連接mysql數(shù)據(jù)庫失敗的幾種解決方案,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
MySQL需要關(guān)注的參數(shù)及狀態(tài)變量解讀
這篇文章主要介紹了MySQL需要關(guān)注的參數(shù)及狀態(tài)變量解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
Mysql數(shù)據(jù)庫開啟遠(yuǎn)程連接流程
文章講述了如何在本地MySQL數(shù)據(jù)庫上開啟遠(yuǎn)程訪問,并詳細(xì)步驟包括配置防火墻、設(shè)置MySQL用戶權(quán)限、使用Navicat進(jìn)行遠(yuǎn)程連接等2025-02-02

