注册

使用DCI进行开发时,插入字符串的长度大于一定长度时,会报错字符串被截断

DYY 2023/09/13 609 0

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:UBUNTU
【CPU】:X86
【问题描述】*:使用DCI进行开发时,插入字符串的长度大于一定长度时,会报错字符串被截断
20230913 172719 的屏幕截图.png
我利用394行的代码去控制插入的数据长度,数据原本长度为27万+,我使用substr的函数进行切割测试,发现当字符串大于一定长度后就报错字符串被截断。
P->lastError = DCIBindByPos(P->stmt, &P->params[i].bind, P->err, parameterIndex, (char *)P->params[i].type.string,
(int)P->params[i].length, SQLT_CHR, &P->params[i].is_null, 0, 0, 0, 0, DCI_DEFAULT);
使用这个函数进行的绑定参数,通过终端可以看到绑定正常
20230913 173121 的屏幕截图.png
这是我的执行函数,其中包含了
P->lastError = DCIStmtExecute(P->svc, P->stmt, P->err, 1, 0, NULL, NULL, DCI_DEFAULT);
这个DCI执行句柄,经排查正是执行这一步报错字符串截断。所以初步判断是数据库那边拒绝了我的插入。
寻求一个解决办法

回答 0
暂无回答
扫一扫
联系客服