I ran into this problem when working with ORACLE 10g. I read the answers to this question here ( ora-00972 id too oracle 10g ) on stack overflow, but they did not work for me. Perhaps my situation is different.
Now I had these table names: WIMAX_TRAFFIC_STATS and WIMAX_RADIO_STATS . When I tried to insert data into them through an ODBC connection using Erlang/OTP , I got an error:
{error, "[DataDirect] [ODBC Oracle Wire Protocol driver] [Oracle] ORA-00972:
identifier is toolong SQLSTATE IS: HY000 "}
So, I searched google and found the answers, saying that maybe my table names are too long. So I did it below and tried again:
SQL> ALTER TABLE WIMAX_RADIO_STATS RENAME TO WR;
Table altered.
SQL> ALTER TABLE WIMAX_TRAFFIC_STATS RENAME TO WT;
Table altered.
I am still getting the same error. Other sya sources that this may be the data that I write in some of my columns. The following are the definitions of my tables:
SQL> DESCRIBE WT;
Name Null? Type
----------------------------------------- -------- - ----------------
SDATE DATE
ELEMENT_TYPE VARCHAR2 (50)
MANAGED_ELEMENT VARCHAR2 (50)
USER_LABEL VARCHAR2 (200)
JOB_ID VARCHAR2 (50)
MEAS_TYPE VARCHAR2 (50)
MEAS_VALUE VARCHAR2 (50)
None of the data values ββthat I write is longer than determining the length of a column. I really wonder. I am trying to write rows whose length is less than 10 characters in the table, but still get this error. Some help with the body, please!
EDIT
A SAMPLE request request is as follows:
INSERT INTO WT (element_type, managed_element, user_label, job_id, meas_type,
meas_value) VALUES ("BreezeMAX MBS",
"SubNetwork = ASN, MeContext =, ManagedElement = MBS.172.17.9.9",
"BMAX-Shoal2 [MTN-Egate]",
"99297", "rbMngmntPortPacketsDiscardedOnRx", "0");
SDATE field has sysdate default