解决ORA-01861 literal does not match format string

数据脚本里面的时间是'2010-12-12',结果导进去说

ORA-01861 literal does not match format string

数据库里面的字段是date型的,然后linux安装的oracel时间格式,根据:

 

select * from nls_database_parameters;

 

SQL> select * from nls_database_parameters;

PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_LANGUAGE
AMERICAN

NLS_TERRITORY
AMERICA

NLS_CURRENCY
$


PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_ISO_CURRENCY
AMERICA

NLS_NUMERIC_CHARACTERS
.,

NLS_CHARACTERSET
ZHS32GB18030


PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CALENDAR
GREGORIAN

NLS_DATE_FORMAT
DD-MON-RR

NLS_DATE_LANGUAGE
AMERICAN


PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_SORT
BINARY

NLS_TIME_FORMAT
HH.MI.SSXFF AM

NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM


PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT
DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY
$


PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_COMP
BINARY

NLS_LENGTH_SEMANTICS
BYTE

NLS_NCHAR_CONV_EXCP
FALSE


PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_NCHAR_CHARACTERSET
AL16UTF16

NLS_RDBMS_VERSION
11.2.0.4.0

 

NLS_TIME_FORMAT就是日期格式,这里为 HH.MI.SSXFF AM ,

NLS_LANGUAGE 为 AMERICA ,字符集也不对,导致生成的一堆数据库表有很多乱码。

 

在当前用户下 修改 .bash_profile,增加三个:

export LANG=C
export NLS_DATE_FORMAT=YYYY-MM-DD
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS32GB18030"

[test@rhel675771 bb]$ 

Last login: Thu Jul 14 20:09:17 2016 from 10.187.191.55

 

test

[test@rhel675771 ~]$ 

[test@rhel675771 ~]$ test

[test@rhel675771 ~]$ pwd
/datafs/fs

[test@rhel675771 ~]$ vi .bash_profile;

 

PATH=$PATH:$HOME/bin

export PATH

export PATH

export LANG=C
export NLS_DATE_FORMAT=YYYY-MM-DD
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS32GB18030"

保存修改后退出,另起一个会话,登进SQL

 

[test@rhel675771 ~]$ test
[test@rhel675771 ~]$ pwd
/datafs/fs
[test@rhel675771 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on 星期五 7月 15 08:45:16 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS32GB18030

 

字符集已经改变,数据也可以成功导入。

转载于:https://my.oschina.net/u/2822116/blog/712098

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值