为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:用的mybatisplus框架,
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>();
wrapper.ne(User::getVarInfo,"{}");
VAR_INFO的类型是CLOB,
上述sql执行会报错,应该是将{}识别为null了,数据库换成mysql就没有这个问题,
报错信息:
Caused by: dm.jdbc.driver.DMException: 第1 行附近出现错误:
数据类型不匹配
at dm.jdbc.driver.DBError.throwException(DBError.java:696)
at dm.jdbc.b.b.o.E(MSG.java:560)
at dm.jdbc.b.b.o.B(MSG.java:520)
at dm.jdbc.b.b.o.A(MSG.java:501)
at dm.jdbc.b.a.a(DBAccess.java:230)
at dm.jdbc.b.a.a(DBAccess.java:690)
at dm.jdbc.driver.DmdbPreparedStatement.prepareSql(DmdbPreparedStatement.java:267)
at dm.jdbc.driver.DmdbPreparedStatement.allocateHandle(DmdbPreparedStatement.java:224)
at dm.jdbc.driver.DmdbPreparedStatement.<init>(DmdbPreparedStatement.java:126)
at dm.jdbc.driver.DmdbPreparedStatement.<init>(DmdbPreparedStatement.java:176)
at dm.jdbc.driver.DmdbConnection.do_prepareStatement(DmdbConnection.java:712)
at dm.jdbc.driver.DmdbConnection.do_prepareStatement(DmdbConnection.java:698)
at dm.jdbc.driver.DmdbConnection.prepareStatement(DmdbConnection.java:1317)
at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:337)
at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.logging.jdbc.ConnectionLogger.invoke(ConnectionLogger.java:55)
at com.sun.proxy.$Proxy293.prepareStatement(Unknown Source)
at com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor.queryTotal(PaginationInterceptor.java:266)
... 168 common frames omitted
2024-05-28 16:09:05,162 INFO [XNIO-1 task-1] c.y.i.b.p.i.GlobalWebInterceptor 58 - GlobalWebInterceptor afterCompletion
达梦默认是不支持大字段clob类型字段直接作为查询条件,传参数查询的,您可试下在数据库url连接字符串后加上clobAsString=1 看看是否可行?或者在查询的字段上做下类型强制转换后再查询,即转成字符串:to_char(字段名VAR_INFO)
例如: