ORA-06512: at "SYS.UTL_RAW", line 224
INSERT INTO "JGPT"."SYS_API_REQUEST_LOG" ( "ID", "CREATE_TIME", "API_PATH", "REQUEST_METHOD", "REQUEST_DATA", "RESPONSE_STATUS", "RESPONSE_DATA", "ERROR_LOG", "CREATE_BY" )
VALUES
(
'93d39857-e03b-41bd-a24f-2b464c4c48e8',
TO_DATE( '2022-12-02 11:22:44', 'SYYYY-MM-DD HH24:MI:SS' ),
'主动请求PLM接口获取数据',
'GET',
utl_raw.cast_to_raw ( '3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D3822207374616E64616C6F6E653D22796573223F3E0A203C53656172636844617461204E756D6265723D2232223E0A20202020203C706172744E756D6265723E46445A313532323131303434323931303031333C2F706172744E756D6265723E0A203C2F536561726368446174613E' ),
'S',
utl_raw.cast_to_raw ( '3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E3C7461736B3E3C706172743E3C6E756D6265723E46445A313532323131303434323931303031333C2F6E756D6265723E3C6E616D653E3C2F6E616D653E3C76657273696F6E3E3C2F76657273696F6E3E3C697465726174696F6E3E3C2F697465726174696F6E3E3C70686173653E3C2F70686173653E3C73746174653E3C2F73746174653E3C2F706172743E3C2F7461736B3E' ),
NULL,
NULL
);
参数化sql,不要拼接成一个长长的字符串执行
在oracle里varchar2类型最多3500左右,如果少于这个数,你的列直接varchar2就行了,不需要blob
而如果你的列是blob,就应该参数化sql,直接传入byte数组,而不是拼接成字符串
sql字符串本质上还是varchar,然后再转成blob,它还是会受3500的限制
字段是BLOB类型么,转一下再存试试
to_blob('3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E3C7461736B3E3C706172743E3C6E756D6265723E46445A313532323131303434323931303031333C2F6E756D6265723E3C6E616D653E3C2F6E616D653E3C76657273696F6E3E3C2F76657273696F6E3E3C697465726174696F6E3E3C2F697465726174696F6E3E3C70686173653E3C2F70686173653E3C73746174653E3C2F73746174653E3C2F706172743E3C2F7461736B3E')
https://blog.csdn.net/lgbisha/article/details/128558286?spm=1001.2014.3001.5502