程序中有一段代码的功能是向某张表中插入一条语句,从日志中打印出来的SQL语句如下:
INSERT INTO T_PP_SEND ( ID, MOBILE, PUSH_ID, TOTAL_MSG_NUM, MSG_INDEX, MSG_TYPE, SEND_MSG,REQUIRE_DATE, PROCESS_FLAG, OTAMSGID, SENDCOUNT, RFMBATCH, CHANNEL ) VALUES (SEQ_PP_SEND.NEXTVAL, '13872546870' , SEQ_PUSH.NEXTVAL , 1,1,1,'AnAAABkRAgAAEbAAEAAAAAAoAMjbweqtYZCxAQUA',sysdate, 0, 0, 0,1000 ,1)
通过PL/SQL执行,插入成功
通过SQLPLUS执行,插入成功
但是只要程序运行时,就会给出一个"java.sql.SQLException: ORA-00972: 标识过长"的异常,插入不成功。而且错误日志指向的就是这条语句错误
曾经考虑过字符集和表结构的关系,做过改动,情况依然存在。
这张表修改之后的表结构如下:
Name Type
------------- --------------
ID NUMBER(10)
MOBILE VARCHAR2(3000)
PUSH_ID NUMBER(10)
TOTAL_MSG_NUM NUMBER(10)
MSG_INDEX NUMBER(10)
MSG_TYPE NUMBER(10)
SEND_MSG VARCHAR2(3000)
REQUIRE_DATE DATE
DEAL_DATE DATE Y
PROCESS_FLAG NUMBER(10)
OTAMSGID NUMBER(20)
SENDCOUNT NUMBER(10)
RFMBATCH NUMBER(10) Y
CHANNEL NUMBER(10) Y
请各位帮忙看看