在代码执行部署的时候经常会遇到编码格式问题导致的报错,问题如下:
ERROR:
ORA-01756: quoted string not properly terminated
insert into table values(....'鎶ユ枃鐢熸垚鏃堕棿'...)
*
ERROR at line 1:
ORA-02291: 违反完整约束条件 (TLOANDATA.FK_LN_PBOC_MSG_PROP_COMP) -
未找到父项关键字
由于第一条语句插入乱码,没有成功,导致后面的语句也是执行失败的。
解决方案:
第一种解决办法,临时修改服务器的字符集环境变量,然后再执行sqlplus user/password@servicename ;@update.sql,修改环境字符集命令如下: export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 第二种解决办法,确认数据库字符集为什么,一般为UTF-8,那么在保存update.sql文件的时候,选择UTF-8格式进行保存。 最好在update.sql内容头里面加上以下命令方便定位问题:
spool update.log
set feedback off
set define off
第二种方法: 修改脚本的编码格式,重新移交部署即可