oracle导入数据库报错,全是问号,求解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle导入数据库报错,全是问号,求解相关的知识,希望对你有一定的参考价值。
expdp数据源11.2.0.4.0,目标数据库11.2.0.3.0,已建立好directory,赋予read,write权限,但导入过程报错,如下图
你这个应该不是程序的问题,而是客户端字符编码问题首先,
你要保证你使用的客户端(比如secureCRT编码)、OS的LANG编码。要一致
其次,最好将客户端的NLS_LANG编码设置与oracle server一致。
你可以直接export LANG=c
然后看看显示还是乱码吗,把secureCRT等客户端的编码设置为UTF-8 参考技术A 你这问号是不是中文乱码了 参考技术B 字符集改成english 参考技术C Oracle 报错都会有 ORa-xxxx的 ,直接百度查一下就好了
Oracle使用——PLSQL的中文乱码显示全是问号
问题
这两天刚将PLSQL与Oracle配置好,但是在PLSQL中插入数据时。出现一个问题,PLSQL中的表里无法显示中文,中文无法保存、无法输出。中文在表中显示问号。如图:
原因
经过一番查证,发现问题的源头不是出如今PLSQL上,而是出如今我们的Oracle上,因为我们的Oracle数据库里的字符集不支持中文导致的。既然知道了原因。就好办了。我们就配置我们的Oracle字符集,让他支持中文。
解决的方法
我的Oracle是11g版本号的,以下以我的为例,为大家解说下设置的过程。
步骤一
開始-执行-输入regedit-回车进入注冊表。依次单击HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1(不同版本号的Oracle显示的都不太一样,但都会包括home这个单词),找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。假设不是就将它设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
”
如图
步骤二
设置完注冊表后,接下来设置我们的环境变量,计算机(右键) --->属性--->高级系统设置--->高级--->环境变量--->新建。个人建议新建用户变量。变量名输入:“NLS_LANG”。变量值输入:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。点击确定就可以。到此我们就设置完了。
如图
效果
以下就看下我们的效果,关闭PLSQL,又一次启动,中文果然出现了,
后记
环境变量让我们在开发中方便了非常多,可是它也是好多问题的“万恶之源泉”,让人痛并快乐着的环境变量啊。
以上是关于oracle导入数据库报错,全是问号,求解的主要内容,如果未能解决你的问题,请参考以下文章
字符集为AL32UTF8的Oracle数据库导入编码格式为UTF-8无BOM编码的sql文件,导入的中文全是乱码,如何解决?