Results 1 to 6 of 6
  1. #1
    Join Date
    Sep 2004
    Posts
    1

    Unanswered: ORA-00972: identifier is too long

    I'm having an error when running any entity (j2ee EJB entity) method. It´s ORA-00972 Identifier is too long. I now that this may caused by a field's name longer than 30 characters, or data tipe incompatibility.
    I tried to run an entity over a table with anly an autonumeric PK, entityTable as entity's name and pk the field but the same error again.
    Later, I created some new workspaces and added old projects to them. Some of them worked and others didn´t.
    Actually a workspace, which was working perfect, throws again this error.
    I try my entity beans at other PCs and them worked.
    This must be an enviroment (workspace/project) error, but I don't know how must I do entitys.

    More information:
    - A database error isn't possible.
    - I handle entity beans (CPM) using session beans.

    I'm getting mad.

    Thanks in advance.

  2. #2
    Join Date
    Sep 2011
    Posts
    2

    ORA-00972: identifier is too long

    Just make sure that the name of any of the variable or procedure does not exceed 27 characters....Otherwise it will throw ORA-00972: identifier is too long error..

  3. #3
    Join Date
    Jan 2004
    Location
    Croatia, Europe
    Posts
    4,094
    Provided Answers: 4
    27? Why 27?

    (Besides, you answered a question that is 7 years old. Nothing wrong about it, just a remark).

  4. #4
    Join Date
    Oct 2010
    Posts
    46
    The error message indicates that an identifier with more than 30 characters was specified.


    ORA-00972 Identifier is too Long

    There is a limit in the object identifier in Oracle (usually 30 characters). When going over this limit, this error appears. A table created during the execution of the interface went over this limit. and caused this error (see the execution log for more details).

    Check in the topology for the oracle technology, that the maximum lengths for the object names (tables and columns) correspond to your Oracle configuration.

  5. #5
    Join Date
    Sep 2011
    Posts
    2

    27? Why 27?

    For 30 characters, Oracle displays the error "ORA-00972 Identifier is too Long" , but for identifier with characters between 27-30 , Oracle fails to catch the error and throws exception on execution.

    i answered this 7yr old question, bcoz i just faced this issue..

  6. #6
    Join Date
    Jan 2004
    Location
    Croatia, Europe
    Posts
    4,094
    Provided Answers: 4
    It's not that I don't believe you, but ... could you demonstrate it, please? Here's what I know: 30 bytes is a limit (Schema Object Naming Rules):
    Code:
    SQL> create table test_26 (id_26_chars_12345678901234 number);
    
    Table created.
    
    SQL> create table test_27 (id_27_chars_123456789012345 number);
    
    Table created.
    
    SQL> create table test_28 (id_28_chars_1234567890123456 number);
    
    Table created.
    
    SQL> create table test_29 (id_29_chars_12345678901234567 number);
    
    Table created.
    
    SQL> create table test_30 (id_30_chars_123456789012345678 number);
    
    Table created.
    
    SQL> create table test_31 (id_31_chars_1234567890123456789 number);
    create table test_31 (id_31_chars_1234567890123456789 number)
                          *
    ERROR at line 1:
    ORA-00972: identifier is too long
    
    
    SQL>
    As you can see, no error has been reported for column names lengths between 27 and 30 characters (bytes in my example).

    How did you create those tables? What was the identifier's name? Did you use multi-byte characters (so that number of bytes was different from number of characters)?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •