【DM版本】:8.1.2.141
【操作系统】:linux
有如下sql:
SELECT
COUNT(1) AS total
FROM
T_CCM_CUST a
INNER JOIN (
SELECT
t.CUST_ID
FROM
T_CCM_CUST_TAG t
WHERE
t.TAG_SEAT_VALUE LIKE ‘1___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________’) b ON b.CUST_ID = a.CUST_ID
报错提示“模式过多",百度了下达梦都没相关问题的描述,这里的‘_’是通配符,这里修改like的长度短一点才查询才成功,但是单独执行子查询里面的like语句又不会报错,去mysql数据库执行了上述语句也没问题, 望大佬们能解答下
—以下为建表语句和两条数据,两表为一对多关系–
**
CREATE TABLE T_CCM_CUST (
CUST_ID VARCHAR(32) NOT NULL,
CUST_NAME VARCHAR(400) NOT NULL
CONSTRAINT PK_T_CCM_CUST PRIMARY KEY (CUST_ID)
);
CREATE TABLE T_CCM_CUST_TAG (
CUST_ID VARCHAR(32) NOT NULL,
TAG_SEAT_VALUE VARCHAR(512) NOT NULL,
CONSTRAINT PK_T_CCM_CUST_TAG PRIMARY KEY (CUST_ID)
);
INSERT INTO T_CCM_CUST_TAG
(CUST_ID, TAG_SEAT_VALUE)
VALUES(‘20000110001’, ‘10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000’);
INSERT INTO T_CCM_CUST
(CUST_ID, CUST_NAME)
VALUES(‘20000110001’, ‘111’);
**
–以下为20221027编辑
测试后发现like语句中的通配符超过298个后此时添加任何文字就会开始报错,297个通配符加任意字符不会,目前临时方案只有是拆分原来字段为多个字段,以256为单位长度做拆分
首先确定是SQL语句本身执行有问题还是框架的问题,把SQL单独拿到manager管理工具里面执行看看,如果manager可以执行说明是框架的问题,可以把代码和表结构之类的发出来我们看下;如果manager执行失败可以把表结构和SQL发出来。不然你这样问没法解决。
你好,新版本已经解决了该问题,修改LIKE_PATTERN_NUM参数后可以解决,具体使用方法可以查看相应安装目录的管理员手册,搜索LIKE_PATTERN
SP_SET_PARA_VALUE(1,'LIKE_PATTERN_NUM',10000)
换一个驱动包试试,管理工具可以执行吗jdbc.rar