共计 2400 个字符,预计需要花费 6 分钟才能阅读完成。
本篇内容介绍了“sqlldr 导入数据乱码的解决办法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
公司业务需要,通过 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 导入数据乱码的解决办法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!