sqlldr导入数据乱码的解决办法
因公司业务需求,通过sqlldr导入数据进行统计。数据源为计数器软件导出的excel,然后转换为csv格式,通过sqlldr导入数据库。
控制文件fjf.ctl:
加载数据
CHARACTERSET ZHS16GBK
infile 'D:\20230927\9\20230903_20230903.csv '
追加
表 hs_his.fjf
以 ',' 结尾的字段
尾随 NULLCOLS
(
exch_type ,
futucode_type ,
手 ,
钱 , ,
shouxf , ,
shouxf , ,
p>
fjf1 、
fjf2 、
jlc 、
)
bat 文件:
@回声**************************************************************************
@Echo ******** * ** 导入附加费数据!!! **************************
@Echo ****** ** 请按 Enter 导入数据! !! **************************
@Echo *** ************ ****************************************************** ********
暂停
sqlldr system/oracle@uf20 control=D:\20230927\9\fjf .ctl log=D:\20230927\9\ fjf.log bad=D:\20230927\9\fjf.bad
暂停
导入后查询显示乱码。
SQL> select exch_type from hs_his.fjf;
EXCH_TYPE
-------------------- -
锘戝炰揄鏄洴卍
澶ц繛浜ゆ槗镓€
閮戝窞浜ゆ槗镓€
< p>閮戝窞浜ゆ槗镓€涮戝窞浜ゆ槗镓€
六婃磅浞浜ゆ槗镓€
阅读戣瀺浜ゆ槗镓€
澶ц繛浜ゆ槗镓€
閮戝窞浜ゆ槗镓€
澶ц繛浜ゆ槗镓€
元戣瀺浜ゆ槗镓€
查询数据库字符集:select * from nls_database_parameters
SQL> 显示参数 nls_lang
NAMETYPE VALUE
------------------------ ---------------------- ----- ------ -------------------------- ---
nls_语言字符串简体中文
SQL>显示参数nls
名称类型值
------- ----------------- ---------- ---------- ------------- --------------- ---
nls_calendar 字符串 GREGORIAN
nls_comp 字符串 BINARY
nls_currency 字符串 人民币
nls_comp 字符串 BINARY
nls_currency 字符串人民币
p>nls_date_format 字符串 DD-MON-RR
nls_date_language 字符串 简体中文
nls_dual_currency 字符串 ¥
nls_iso_currency 字符串 CHINA
nls_language 字符串 简体中文
nls_length_semantics 字符串 BYTE
nls_nchar_conv_excp 字符串 FALSE
nls_numeric_characters 字符串 .,
NAME TYPEVALUE
---------------------------------------------------------------- ------ --- -- ------------------------------
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
会话字符集:
客户端字符集:
数据库字符集没有问题。
怀疑是数据源的编码问题
ctl文件中的字符集修改为:AL32UTF8
加载数据
CHARACTERSET AL32UTF8
p>infile 'D:\20230927\9\20230903_20230903.csv'
追加
到表 hs_his.fjf p>
以 ', ' 结尾的字段
尾随 NULLCOLS
(
exch_type ,
futucode_type ,
手 ,
钱 ,
shouxf , ,
fjf1 ,
fjf2 ,
j lc
)
重新导入并解决问题
《sqlldr导入数据乱码的解决办法》介绍到这里。感谢您的阅读。如果您想了解更多行业资讯,可以关注网站,小编将为大家输出更多优质实用文章!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > sqlldr导入数据乱码的解决办法