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

68次阅读
没有评论

共计 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 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计2400字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)