千家信息网

sqlldr导入数据乱码的解决办法

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本篇内容介绍了"sqlldr导入数据乱码的解决办法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!公司
千家信息网最后更新 2024年11月23日sqlldr导入数据乱码的解决办法

本篇内容介绍了"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导入数据乱码的解决办法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0