Oracle Strange Error: ORA-00972 ID Too Long

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

+8
sql oracle erlang odbc
source share
1 answer

You are using the wrong quotation marks.

 VALUES('BreezeMAX MBS', ^ ^ 

Demo:

 SQL> create table t (a varchar(100)); Table created. SQL> insert into t(a) values ("qasdqsdqsdqsdqsdqsdqsdlmqmsldqsmldqsmldq"); insert into t(a) values ("qasdqsdqsdqsdqsdqsdqsdlmqmsldqsmldqsmldq") * ERROR at line 1: ORA-00972: identifier is too long SQL> insert into t(a) values ('qasdqsdqsdqsdqsdqsdqsdlmqmsldqsmldqsmldq'); 1 row created. 
+18
source share

All Articles