Tôi đã gặp sự cố này khi làm việc với ORACLE 10g. Tôi đã đọc câu trả lời cho câu hỏi này tại đây (ora-00972 identifier is too long oracle 10g) trên tràn ngăn xếp nhưng chúng chưa hoạt động đối với tôi. Có lẽ tình hình của tôi khác.
Lỗi Oracle lạ: Mã định danh quá dài ORA-00972
Bây giờ tôi đã có các tên bảng này: WIMAX_TRAFFIC_STATS
và WIMAX_RADIO_STATS
. Khi tôi cố gắng chèn dữ liệu vào chúng thông qua kết nối ODBC với Erlang/OTP
, tôi gặp lỗi:
{error,"[DataDirect][ODBC Oracle Wire Protocol driver][Oracle]ORA-00972:Vì vậy, tôi đã tìm kiếm trên google và tìm thấy câu trả lời cho rằng có thể tên bảng của tôi quá dài. Vì vậy, tôi đã làm điều này dưới đây và thử lại:
identifier is toolong SQLSTATE IS: HY000"}
SQL> ALTER TABLE WIMAX_RADIO_STATS RENAME TO WR; Table altered. SQL> ALTER TABLE WIMAX_TRAFFIC_STATS RENAME TO WT; Table altered.Tôi vẫn gặp lỗi tương tự. Các nguồn khác sya rằng nó có thể là dữ liệu tôi đang viết trong một số cột của tôi. Định nghĩa bảng của tôi ở đây dưới đây:
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)
Không có giá trị dữ liệu nào tôi viết dài hơn độ dài cột. Tôi thực sự tự hỏi. Đang cố viết các chuỗi có độ dài dưới 10 ký tự trong bảng nhưng vẫn nhận được lỗi này. Một số trợ giúp cơ thể, xin vui lòng!
EDIT
yêu cầu truy vấn MẪU là như sau:
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");
Trường SDATE có một mặc định thiết lập như sysdate
Vui lòng cung cấp các truy vấn có sai sót và dữ liệu. –