您好,登錄后才能下訂單哦!
本篇內容介紹了“sqlldr導入數據亂碼的解決辦法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
公司業務需要,通過sqlldr導入數據進行統計,數據來源是柜臺軟件導出的excel,然后轉換成csv格式,通過sqlldr導入數據庫。
控制文件fjf.ctl :
load data
CHARACTERSET ZHS16GBK
infile 'D:\20180927\9\20180903_20180903.csv'
append
into table hs_his.fjf
fields terminated by ','
TRAILING NULLCOLS
(
exch_type ,
futucode_type ,
hands ,
money ,
shouxf ,
fjf1 ,
fjf2 ,
jlc
)
bat文件:
@Echo ************************************************************************
@Echo *********** 導入附加費數據!!! **************************
@Echo ******** 請按回車進行數據導入!!! **************************
@Echo ************************************************************************
pause
sqlldr system/oracle@uf20 control=D:\20180927\9\fjf.ctl log=D:\20180927\9\fjf.log bad=D:\20180927\9\fjf.bad
pause
導入后,查詢顯示亂碼。
SQL> select exch_type from hs_his.fjf;
EXCH_TYPE
--------------------
锘垮ぇ榪炰氦鏄撴墍
澶ц繛浜ゆ槗鎵€
閮戝窞浜ゆ槗鎵€
閮戝窞浜ゆ槗鎵€
澶ц繛浜ゆ槗鎵€
涓婃搗浜ゆ槗鎵€
閲戣瀺浜ゆ槗鎵€
澶ц繛浜ゆ槗鎵€
閮戝窞浜ゆ槗鎵€
澶ц繛浜ゆ槗鎵€
閲戣瀺浜ゆ槗鎵€
查詢數據庫字符集:select * from nls_database_parameters
SQL> show parameters nls_lang
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_language string SIMPLIFIED CHINESE
SQL> show parameters nls
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_calendar string GREGORIAN
nls_comp string BINARY
nls_currency string ¥
nls_date_format string DD-MON-RR
nls_date_language string SIMPLIFIED CHINESE
nls_dual_currency string ¥
nls_iso_currency string CHINA
nls_language string SIMPLIFIED CHINESE
nls_length_semantics string BYTE
nls_nchar_conv_excp string FALSE
nls_numeric_characters string .,
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_sort string BINARY
nls_territory string CHINA
nls_time_format string HH.MI.SSXFF AM
nls_time_tz_format string HH.MI.SSXFF AM TZR
nls_timestamp_format string DD-MON-RR HH.MI.SSXFF AM
nls_timestamp_tz_format string DD-MON-RR HH.MI.SSXFF AM TZR
session的字符集:
客戶端字符集:
發現數據庫字符集沒什么問題。
懷疑是數據源的編碼問題
ctl文件中修改字符集為:AL32UTF8
load data
CHARACTERSET AL32UTF8
infile 'D:\20180927\9\20180903_20180903.csv'
append
into table hs_his.fjf
fields terminated by ','
TRAILING NULLCOLS
(
exch_type ,
futucode_type ,
hands ,
money ,
shouxf ,
fjf1 ,
fjf2 ,
jlc
)
重新導入,問題解決
“sqlldr導入數據亂碼的解決辦法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。