programing

이상한 Oracle 오류:식별자가 너무 깁니다. ORA-00972

stoneblock 2023. 8. 27. 08:51

이상한 Oracle 오류:식별자가 너무 깁니다. ORA-00972

Oracle 10g로 작업할 때 이 문제에 직면한 적이 있습니다.스택 오버플로에서 이 질문에 대한 답변(또는 a-00972 식별자가 너무 긴 오라클 10g)을 여기서 읽었지만 저에게는 효과가 없었습니다.아마도 내 상황은 다를 것입니다.

저는 다음과 같은 테이블 이름을 가지고 있었습니다.WIMAX_TRAFFIC_STATS그리고.WIMAX_RADIO_STATS의 ODBC 연결을 통해 데이터를 삽입하려고 했을 때 다음 오류가 발생했습니다.

{error", [DataDirect][ODBC Oracle Wire Protocol 드라이버][오라클]ORA-00972:
식별자가 너무 깁니다. SQLSTATE IS: HY000"}
So, i searched google and found answers saying that maybe my table names are too long. So i did this below and tried again:
SQL> ALTATBLE WIMAX_RADIO_STATS 이름을 WR로 변경;테이블이 변경되었습니다.
SQL> ALTERTABLE WIMAX_TRAFFIC_STATS 이름을 WT로 변경;테이블이 변경되었습니다.
I am still getting the same error. Other sources sya that it could be the data i am writing in some of my columns. My table definitions are here below:


SQL > 설명 WT;이름이 Null입니까?유형----------------------------------------- -------- -----------------날짜엘리먼트_TYPE VARCHAR2(50)관리_요소 VARCHAR2(50)USER_LABEL VARCHAR2(200)JOB_ID VARCHAR2(50)MEAS_TYPE VARCHAR2(50)MEAS_VALUE VARCHAR2(50)

내가 쓴 데이터 값이 열 길이 정의보다 긴 데이터 값이 없습니다.정말 궁금합니다.테이블에 10자 미만의 문자열을 작성하려고 하지만 여전히 이 오류가 발생합니다.누가 좀 도와주세요!

편집

SAMPLE 쿼리 요청은 다음과 같습니다.

WT에 삽입(element_type, managed_element, user_label, job_id, meas_type,
meas_value) VALUES("브리즈")최대 MBS",
"하위 네트워크=ASN, MeContext=, ManagedElement=MBS.172.17.9.9",
"BMAX-Shoal2[MTN-Egate],"
"99297",rbMntPortPacketsDiscardedOnRx",0";

SDATE 필드의 기본 설정은 다음과 같습니다.sysdate

당신은 잘못된 인용문을 사용하고 있습니다.

VALUES('BreezeMAX MBS',
       ^             ^

데모:

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.

언급URL : https://stackoverflow.com/questions/7964891/strange-oracle-error-identifier-too-long-ora-00972