博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle sqlplus执行sql语句字符集问题
阅读量:6627 次
发布时间:2019-06-25

本文共 673 字,大约阅读时间需要 2 分钟。

  因为业务需要,现将一些包含中文的insert语句导入到oracle数据库中,由于数据量比较大,通过pl/sql*plus导入时非常慢(实测1.5M的文件大概执行20分钟),现在oracle服务器sqlplus下执行,报错如下:

ERROR:ORA-01756: quoted string not properly terminated

  查询度娘说是字符集问题,随后查看数据库字符集

SQL> select userenv('language') from dual;USERENV('LANGUAGE')----------------------------------------------------AMERICAN_AMERICA.ZHS16GBK

  oracle用户当前字符集

echo $NLS_LANGAMERICAN_AMERICA.ZHS16GBK

  是一致的,说明是导入的sql文件有问题,解决方法如下:

先将sql文件通过notepad++转换为UTF-8-BOM编码模式,然后再转成gb2312格式保存

然后通过UltraEdit打开刚刚保存的gb2312格式的文件

修改为gbk格式,然后再保存,重新导入,不报错了,而且速度非常快,1.5M文件5秒钟执行完成。

总结:

  utf-8文件不能直接转成gbk格式,需要将UTF-8格式文件改为gb2312格式,然后再转成gbk格式,否则中文乱码。

 

转载于:https://www.cnblogs.com/chillax1314/p/9239500.html

你可能感兴趣的文章
Nginx+Keepalived搭建高可用负载均衡集群
查看>>
聚合链路及故障排查
查看>>
后台服务程序开发模式
查看>>
VS2015 正式版中为什么没有了函数前面引用提示了?
查看>>
windows 系统的安装和虚拟机共享文件夹
查看>>
python—爬虫
查看>>
arp协议的混乱引发的思考--一个实例
查看>>
Why Public Cloud is Not a Security Concern
查看>>
多种方法获取sys_call_table(linux系统调用表)的地址
查看>>
配置XenDesktop一例报错-序列不包含任何元素
查看>>
桌面云
查看>>
Spring Boot五:使用properties配置文件实现多环境配置
查看>>
vim取消高亮显示
查看>>
设计从“心“开始
查看>>
网络安全系列之四十六 在IIS6中配置目录安全性
查看>>
javascript理解数组和数字排序
查看>>
微软同步框架入门之五--使用WCF同步远程数据
查看>>
Last-Modified、If-Modified-Since 实现缓存和 OutputCache 的区别
查看>>
漂亮彩色验证码 以及 数学运算表达式形式的验证码
查看>>
理解SQL代理错误日志
查看>>