不太可能吧,是不是有什么多余的控制字符,比如TAB,ENTER等

解决方案 »

  1.   

    create table 卷包岗位系数单箱单价表
    (
      GWDM VARCHAR2(50) not null,
      GWMC VARCHAR2(50),
      DXDJ NUMBER(18,3),
      GWXS NUMBER(18,1)
    )
    tablespace T_RSLZ
      pctfree 10
      pctused 40
      initrans 1
      maxtrans 255
      storage
      (
        initial 16K
        next 16K
        minextents 1
        maxextents 121
        pctincrease 50
      );你帮我瞧瞧吧,你看我建这样一个表,说标识太长,不是说允许30个字符吗,我还没有到15个汉字,在Oracle9.01里
      

  2.   

    我的Oracle9.0.0是不是有问题,我的一个字段是Varchar2(10),无论如何,只能输入3个汉字,这是什么原因呢?
      

  3.   

    我在8i上试过了,一切正常,是不是你的Oracle9i有问题
      

  4.   

    你用字符串的长度函数length取一下这些列的长度,列出来看一下是怎么一回事。
      

  5.   

    字符集的问题,我已经解决了!我数据库原来的字符集是UTF8
      

  6.   

    我给你说说最好的解决方法:
     (1)注册表里:HKEY_LOCAL_MACHINE--SOFTWARE--ORACLE-HOME0--NSL_LANG的值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK  (2)查了数据库:select * from props$  (3) 查询了数据库视图:select * from V$NLS_PARAMETERS  (4)对系统表执行以下操作: update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET' update props$ set value$='ZHS16GBK' where name='NLS_NCHAR_CHARACTERSET' (5)服务器重新启动对于新建的表,一切正常;但是,原来汉字命名的表无法识别。原来表里有汉字也无法识别。 (6) 准备解决方法:恢复原来的配置,一、冷备份数据库;二、导出原来的数据库;三、重新执行步骤(4);四、导入原来的数据,或重冷备份数据里恢复。 OK