Я столкнулся с этой проблемой при работе с ORACLE 10g. Я прочитал ответы на этот вопрос здесь ( идентификатор ora-00972 слишком длинный oracle 10g ) о переполнении стека, но они не сработали для меня. Возможно, у меня другая ситуация.
Теперь у меня были эти имена таблиц: WIMAX_TRAFFIC_STATS
и WIMAX_RADIO_STATS
. Когда я попытался вставить в них данные через соединение ODBC с Erlang / OTP
, я получил сообщение об ошибке:
{error,"[DataDirect][ODBC Oracle Wire Protocol driver][Oracle]ORA-00972:
identifier is toolong SQLSTATE IS: HY000"}
Итак, я поискал в Google и нашел ответы, в которых говорилось, что, возможно, мои имена таблиц слишком длинные. Я сделал это ниже и попробовал еще раз:
SQL> ALTER TABLE WIMAX_RADIO_STATS RENAME TO WR; Table altered. SQL> ALTER TABLE WIMAX_TRAFFIC_STATS RENAME TO WT; Table altered.
Я все еще получаю ту же ошибку. Другие источники утверждают, что это могут быть данные, которые я пишу в некоторых своих столбцах. Мои определения таблиц приведены ниже:
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)
Ни одно из записываемых мной значений данных не превышает длину столбца, указанную в определении. Мне действительно интересно. Я пытаюсь записать в таблицу строки длиной менее 10 символов, но все еще получаю эту ошибку. Помогите телом, пожалуйста!
EDIT
SAMPLE запрос запроса выглядит следующим образом:
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 по умолчанию установлено как sysdate