ORA-22866 default character set is of varying width
Cause: A character LOB was defined but the default character set is not fixed
width.
Action: Ensure that the character set is of fixed width before defining character
LOBs.是默认字符集设置的问题,和权限无关。你用scott和system登陆的时候环境是一样的吗?
Cause: A character LOB was defined but the default character set is not fixed
width.
Action: Ensure that the character set is of fixed width before defining character
LOBs.是默认字符集设置的问题,和权限无关。你用scott和system登陆的时候环境是一样的吗?
解决方案 »
- mssql存储转成ORACLE
- 帮忙提供解决方案
- Sql批量更新效率问题(数据量比较多,运行效率低下)
- 请问谁能提供一个oracle的分页存储过程??
- 如何执行字段中的sql语句?
- 我在ASP中用ODBC连接ORACLE,表中有CLOB类型,只要是SELECT CLOB型数据,就出现如下错误,高手请进
- pl/sql一个动态,这样写为什么会有错?????请教了
- 关于数据库连接(database link)--在线等待,急!急!急!
- ·200分)为什么在oracle817中向表中插入数据,出现“ORA-00904 无效列名”,详细如下:(在线急等)
- 怎样统计字段field1(类型为LONG)不为空的那些记录?
- ORACLE里面按旬统计怎么GROUP BY?
- 一个关于jdbc的问题
两边的字符集都是一样的,我看过了。而且我直接在服务器(8.0.5)上用scott用户登陆,执行上面语句还是同样的错误。这就想不通了。
连接到:
Oracle8 Release 8.0.5.0.0 - Production
PL/SQL Release 8.0.5.0.0 - ProductionSQL> CREATE TABLE TEST2 (AAA CLOB);表已创建。SQL> insert into test2 values('aaaaa');
insert into test2 values('aaaaa')
*
ERROR 位于第 1 行:
ORA-22866: 默认字符集具有不同的宽度SQL> conn scott/tiger@dbsrv
已连接。SQL> CREATE TABLE TEST2 (AAA CLOB);
CREATE TABLE TEST2 (AAA CLOB)
*
ERROR 位于第 1 行:
ORA-22866: 默认字符集具有不同的宽度
1、客户端注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\中的NLS_LANG设置是什么?
2、在服务器端执行select * from nls_parameters;检查nls设置
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG=
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
8。1。0(server)
select * from nls_parametersNAME
---------------------------------------------
VALUE
---------------------------------------------
nls_language
AMERICANnls_territory
AMERICA++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
------看来这出了问题,但我在服务器上注册表看过了,里面的nls都是SIMPLIFIED CHINESE_CHINA.ZHS16GBK--怎么回事?
2、或者在执行sqlplus之前修改系统环境参数:
DOS下:
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
UNIX下:
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
3、或者修改服务器参数使之和环境变量相同以上三种方式任选一种即可
我想还是版本的问题,你在817试
数据库: Oracle 8i R3 (8.1.7) for NT 企业版SQL> create table a(a clob);SQL> insert into a values('1234');SQL> insert into a values('5648');
SQL> SELECT * FROM A WHERE dbms_lob.instr(a.a,'12',1,1)>0;
1234
我想还是版本的问题,你在817试
数据库: Oracle 8i R3 (8.1.7) for NT 企业版SQL> create table a(a clob);SQL> insert into a values('1234');SQL> insert into a values('5648');
SQL> SELECT * FROM A WHERE dbms_lob.instr(a.a,'12',1,1)>0;
1234