Muz*_*hua 11 sql oracle erlang odbc
使用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"}
SQL> ALTER TABLE WIMAX_RADIO_STATS RENAME TO WR; Table altered. SQL> ALTER TABLE WIMAX_TRAFFIC_STATS RENAME TO WT; Table altered.我仍然得到同样的错误.其他来源sya,它可能是我在我的一些专栏中写的数据.我的表定义如下:
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
Mat*_*Mat 23
你使用的是错误的引号.
VALUES('BreezeMAX MBS',
^ ^
Run Code Online (Sandbox Code Playgroud)
演示:
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.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24116 次 |
最近记录: |