当我尝试向H2表中插入数据时,它显示了以下异常。
插入数据(IP,标题,方法,主体,ID,时间)值(?,?,?,?,?,?)-(?1,?2,?3,?4,?5 ,?6)[90004-175]
由以下原因引起:org.h2.jdbc.JdbcSQLException:十六进制字符串包含非十六进制字符:“ [accept = application / json,activityid = caf59f7d-b2f1-4250-9e7a-61606ff5dace,Authorization = Bearer dc98a786-6dda-35e0 -9086-7a3beba5edd5,Content-Length = 19,Content-Type = application / json,Host = 190.0.0.101:8248,User-Agent = curl / 7.58.0]“; SQL语句: 将数据插入(IP,HEADERS,METHOD,BODY,ID,TIME)值(?,?,?,?,?,?)-(?1,?2,?3,?4,?5,?6 )[90004-175]
表: 如果不存在数据,则创建表( 时间标记 ID VARCHAR(255), 方法VARCHAR(255), HEADERS BLOB, 身体BLOB IP VARCHAR(255), 主键(ID) );
这可能是什么原因?我该如何解决?这是该类型或插入值的问题吗?
在这里感谢您的宝贵意见。
答案 0 :(得分:0)
根据我的经验,由于BLOB数据类型,此问题已经出现。为了解决此问题,我们需要对特定的BLOB类型列的值应用 RAWTOHEX()方法。
例如:
插入数据(时间,ID,方法,标题,正文,IP)值(123456,'urn:uuid:05bc688db5-530e-4d68-b306-92647bba06c7','POST',RAWTOHEX('[accept = application / json,activityid = 84030318-7095-46ad-aea1-50d8644fef3f]'),RAWTOHEX('world'),'10.100.5.22');