当前位置:首页 » 编程语言 » oracle导入sql文件乱码

oracle导入sql文件乱码

发布时间: 2022-11-06 15:17:15

sql数据库Text类型字段导出oracle数据时乱码怎么解决

如果所有导出的全角字符都是乱码的话,应该是字符集编码格式不同引起的。需要注意的是要保证导出和导入时的字符集是统一的,或是子集与超集的关系。

② oracle sql developer 查询乱码和文件打开乱码问题

SqlConnection con = new SqlConnection
con.Open();
string sqlstr = "sql语句";
SqlDataAdapter da = new SqlDataAdapter(sqlstr, con);
DataSet ds= new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
con.Close();

③ 我的oracle sql develop 一打开.sql文件就乱码 哪里的问题

你看看,你.sql文件里是全部乱码还是只有中文之类的是乱码
只有中文部分乱码的话,你先用文本打开,粘贴过去
如果是全部乱码,估计是你字符集有问题

④ oracle数据库(PLSQL)导入.sql文件出错:无效的字符集

file--new--command
window,打开后执行:@目录:\wj.sql;
然后回车。例如文件在e盘,就是
@e:\wj.sql;

⑤ Oracle数据出现中文乱码怎么解决

1. 服务器指定字符集与客户字符集不同,而与加载数据字符集一致。
解决方法:对于这种情况,只需要设置客户端字符集与服务器端字符集一致就可以了,具体操作如下:
* 查看当前字符集:
SQL> select * from sys.props$
2 WHERE NAME=‘NLS_CHARACTERSET’;

NAME value$
NLS_CHARACTERSET ZHS16GBK

可以看出,现在服务器端Oracle数据库的字符集为‘ZHS16GBK’
* 根据服务器的字符集在客户端作相应的配置或者安装Oracle的客户端软件时指定:
如果还没安装客户端,那么在安装客户端时,指定与服务器相吻合的字符集即可;如果已经安装好了客户端,并且客户端为 sql*net 2.0 以下版本,进入Windows的系统目录,编辑oracle.ini文件,用US7ASCII替换原字符集,重新启动计算机,设置生效;否则,如果,客户端为 sql*net 2.0 以上版本,在Win98 下 运 行REGEDIT,第一步选HKEY_LOCAL_MACHINE,第二步选择SOFTWARE, 第三步选择 Oracle, 第四步选择 NLS_LANG, 键 入 与服 务 器 端 相 同 的 字 符 集
(本例为:HKEY_LOCAL_MACHINE/

SOFTWARE/ORACLE/NLS_LANG :AMERICAN _ AMERICA. ZHS16GBK)。
如果是UNIX客户端,则:
SQL> conn / as sysdba
Connected.
SQL> SQL> UPDATE sys.PROPS$ SET value$=‘SIMPLIFIED CHINESE’
2 WHERE NAME=‘NLS_LANGUAGE’;

2. 服务器指定字符集与客户字符集相同,与加载数据字符集不一致。
解决方法:强制加载数据字符集与服务器端字符集一致。要做到这一点,可以通过重新创建数据库,并选择与原卸出数据一致的字符集,然后IMP数据,这种情况仅仅适用于空库和具有同一种字符集的数据。
解决这类问题,也可以先将数据加载到具有相同字符集的服务器上,然后用转换工具卸出为foxbase 格式或access格式数据库,再用转换工具转入到不同字符集的Oracle数据库中,这样就避免了Oracle字符集的困扰。目前数据库格式转换的工具很多,像power builder5.0以上版本提供的pipeline及Microsoft Access数据库提供的数据导入/导出功能等。

3. 服务器指定字符集与客户字符集不同,与输入数据字符集不一致。
对于这种情况,目前为止都还没有太好的解决方法。
通过上面的了解,我们知道,导致在后期使用数据库时出现种种关于字符集的问题,多半是由于在数据库设计、安装之初没有很好地考虑到以后的需要,所以,我们完全可以通过在服务器上和客户端使用相同的字符集来避免由此类问题引出的麻烦
怎样修改查看Oracle字符集
a.数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。

b.客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,

表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表

c.会话字符集环境 select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。

客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件
实际情况
我用select * from nls_database_parameters
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET ZHS16GBK
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM

PARAMETER VALUE
------------------------------ ------------------------------
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0
说明我在创建数据库时指定的字符集是ZHS16GBK,我用
update sys.props$ set value$='AL32UTF8' where name='NLS_CHARACTERSET';
修改了字符集,但插入中文时仍然有问题,这或许就如上面资料所说的通过修改SYS.PROPS$来修改主要是对应客户端的显示,与存储无关,
所以仍旧是乱码。
然后我重新创建了个数据库,指定字符集为AL32UTF8,插入中文就没问题了。
可见我们如果要在数据库中显示中文,在创建数据库时一定哟指定好所用的字符集。

⑥ Oracle:PL/SQL中用SQL语句添加数据 中文出现乱码问题[有图]

说明数据库不支持中文,修改为GBK或者Utf-8就可以了。

;改完编码后执行
sql>conn/assysdba;
sql>shutdownimmediate;
databaseclosed.
databasedismounted.
oracleinstanceshutdown.
sql>startupmount;
oracleinstancestarted.

fixedsize452044bytes
variablesize109051904bytes
databasebuffers25165824bytes
redobuffers667648bytes
databasemounted.
sql>;
systemaltered.
sql>altersystemsetjob_queue_processes=0;
systemaltered.
sql>altersystemsetaq_tm_processes=0;
systemaltered.
sql>alterdatabaseopen;
databasealtered.
sql>_useUTF-8;
sql>shutdownimmediate;
sql>startup;

查看数据库编码格式:select userenv('language') from al;

如果数据库格式支持中文,那么就要看下执行的sql是不是本身就有乱码了。

⑦ 在linux 下安装的oracle 导入的sql文件 中文全是乱码

第一种情况:你看看原来sql文件里的中文编码格式是gb2312还是unicode,应该是unicode才可以正常显示
第二种情况:你的linux下没装汉字识别,想办法让你的linux识别汉字就可以了。

⑧ 数据库为Oracle ,导入编码为UTF-8的.sql文件,用PL/SQL导入,结果数据出现中文乱码

你数据库的字符集,与你导入的字符集一致吗? r如果不一致就会出现乱码情况。
最简单的方法,入过你数据库是新的,没东西,就改数据库的字符集,如果是老的,那么你最好是吧文件改了,字符集一致就没有问题了

⑨ Oracle数据库导入sql文件的时候报错

报错是表或视图不存在.
这张表是你自己建立的还是系统自带的.我忘了系统是不是自带这张表了,如果是系统自带的,那么后面应该有s,也就是说表名应该是sys_users.如果是你自己建立的,那么就好好找找吧,应该是没建立成功吧。

⑩ oracle 10g 导入数据库是 中文描述成了乱码

可能原因一:导入数据库不支持中文。这种情况可以修改下编码格式。
sql> conn / as sysdba;
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
sql> alter system enable restricted session;
system altered.
sql> alter system set job_queue_processes=0;
system altered.
sql> alter system set aq_tm_processes=0;
system altered.
sql> alter database open;
database altered.
sql> alter database character set internal_use UTF-8;
sql> shutdown immediate;
sql> startup;
可能原因二:导入数据库和之前的导出数据库的编码格式不一致。这种情况只能是查看下源数据库的编码格式,之后通过上面的方法来进行编码格式修改了。
备注:
查看数据库编码格式sql:select userenv('language') from al;

热点内容
电脑改文档服务器 发布:2025-01-11 16:41:14 浏览:869
编译汇编语言实例 发布:2025-01-11 16:36:55 浏览:670
海康ntp校时服务器地址 发布:2025-01-11 16:34:35 浏览:743
服务器运行超时怎么办 发布:2025-01-11 16:34:32 浏览:298
人妖迅雷种子ftp 发布:2025-01-11 16:33:04 浏览:916
python将列表转化为字符串 发布:2025-01-11 16:32:11 浏览:192
大疆稳定器wifi连接初始密码多少 发布:2025-01-11 16:25:36 浏览:890
专线服务器运行的项目如何访问 发布:2025-01-11 16:15:13 浏览:720
小米智能摄像机云存储 发布:2025-01-11 16:12:08 浏览:556
lnmpphp升级 发布:2025-01-11 16:12:07 浏览:326