导入数据报错:ORA-01756: quoted string not properly terminated
在Windows下导入一个SQL脚本,有中文字符,报错:
ERROR: ORA-01756: quoted string not properly terminated
中文字符都是乱码,肯定是字符集的问题,检查数据库字符集:
数据库的字符集:
SQL> select * from v$nls_parameters where parameter in
2 ( 'NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');
PARAMETER VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET ZHS16GBK
Executed in 0.079 seconds
会话的字符集
SQL> select * from nls_session_parameters where parameter in
2 ( 'NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET') ;
PARAMETER VALUE
------------------------------------------------------------ --------------------------------------------------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
Executed in 0.111 seconds
未显示字符集,去注册表查看:
NLS_LANG=AMERICAN _ AMERICA. UTF8
原因:就是服务器端和客户端的字符集UTF8和ZHS16GBK不一致,导致的字符问题。
解决方法:
在Windows的cmd环境下:
set nls_lang=american_america.ZHS16GBK
执行导入SQL脚本,导入正常。
版权声明:本文为qq_39065491原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。