ORA-00972 identifier is too longCause:The name of a schema object exceeds 30 characters. Schema objects aretables, clusters, views, indexes, synonyms, tablespaces, and usernames.Action:Shorten the name to 30 characters or less。
可能是你的表、视图等的名称超过30个字符的缘故。

解决方案 »

  1.   

    首先你的 oracle 是否已经正常安装完毕,如果正常安装完毕,那你这个错误应该是在创建数据库时报出来的,数据库的 SID 要求的长度更短,所以你最好使用一个较短的 SID。另外,创建完数据库后,数据库中的对象名称长度要求 30 个字符(英文,同样可以使用中文,但不建议使用)
      

  2.   

    还有个贴子和你的问题一样,去参考一下
    http://community.csdn.net/Expert/topic/3627/3627639.xml?temp=.297497
      

  3.   

    我的sql语句是: 
    select projectName,case  
    when (sysdate>JOBPLANSTART and JOBSTARTACTUAL is null) then 'a'  
    end "desc"  from  projectJobInfo,projectinfo,phaseTable,jobTable  
    where projectJobInfo.projectId=projectinfo.projectId and  
    ( (sysdate>JOBPLANSTART and JOBSTARTACTUAL is null) or 
    (sysdate>JOBPLANend and JOBendACTUAL is null) ) 在程序里(客户端使用的ole db provider )提示ora-00972错误,标识太长的错误。但是使用sql plus(版本是9.2.0.1.0)却不出错。 试图将(sysdate>JOBPLANSTART and JOBSTARTACTUAL is null) 改成(sysdate>JOBPLANSTART ) 后(缩短了长度),没有提示出错了。 难道这也算个标识符?