GBase 8s
适配迁移
文章

错误码 -34389 Illegal character has been found in the input string,非法字符排查

发表于2024-06-21 23:31:5994次浏览2个评论

问题描述:

dbaccess执行sql脚本发现报错-34389 Illegal character has been found in the input string

问题原因:

SQL中存在非法字符

问题排查方法:

vim简单看一下关键字符回车等特殊字符是否符合linux的文件规范,windows上的文件和linux下文件特殊字符不一样,所以如果是windows上传过来的文件可能会存在问题。

windows文件转换为linux文件可以使用dos2unix命令。

:set list可以显示所有特殊字符,如下所示:

因为表创建成功,但是comment添加备注有中文字符失败,所以再查看一下字符集,看是否匹配

发现字符集不匹配,调整文件字符集,可使用系统自带的iconv命令

iconv t.sql -f utf-8 -t GB18030 -o t_gb18.sql

[gbasedbt@shipeiarm-0005 ~]$ file t_gb18.sql 
t_gb18.sql: ISO-8859 text

字符集调整过来之后,再进行重新导入成功

评论

登录后才可以发表评论
用户头像
levvel发表于 6个月前
听说评论可以拿积分,我试一下子
GBase用户47954发表于 2个月前
感谢作者的精彩分享!