PL/SQL导入txt信息

这篇博客主要介绍了在PL/SQL Developer中遇到的中文乱码问题及其解决方案。问题根源在于Oracle服务器端和客户端字符编码不一致。解决方法包括检查服务器端字符集、确认注册表中的NLS_LANG设置,并在PL/SQL Developer的环境变量中设置NLS_LANG。此外,还提到了避免ORA-00984错误的方法,即在插入字符型字段时使用单引号包裹值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 PLSQL Developer 插入中文 乱码问题,如图

这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的。

检查Oracle服务器端字符编码,用

select userenv('language') from dual;
select * from v$nls_parameters a where a.PARAMETER = 'NLS_CHARACTERSET'; 

通过查找注册表:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\里,NLS_LANG的具体键值即可知道客户端使用的字符集,如图:

打开PL/SQL Developer:帮助-支持信息-信息 选项卡里进行检查,在“Character Sets”下面,有一项是:“NLS_LANG”, 其值为空,但上面已经检查过注册表NLS_LANG项的键值是正确的,这说明PL/SQL Developer工具没加载到注册表的信息。

看来得添加环境变量了,在环境变量-系统变量里,新增变量NLS_LANG,将上面查到的Oracle服务端在使用的字符集(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)填进去即可,然后退出PL/SQL Developer再重新打开登陆进Oracle。

重新查看信息,就出现了。

“SQL 错误: ORA-00984: 列在此处不允许”,解决方法:

对于字符型字段,大家在插入数据时最好在字段值两端加上单引号,这样就可以很好的避免ORA-00984错误了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值