找回密码
 立即注册

QQ登录

只需一步,快速开始

小土 悬赏达人认证

初级会员

12

主题

233

帖子

433

积分

初级会员

积分
433

悬赏达人

小土 悬赏达人认证
初级会员   /  发表于:2021-12-24 09:54  /   查看:2148  /  回复:6
1金币
本帖最后由 小土 于 2021-12-24 09:59 编辑

数据库:mysql,活字格版本号 7.0.103.0

调用存储过程,WMS_PUTAWAY,运行时报错:

实际的存储过程中参数,与活字格参数一致,并无二样。
但是,因为mysql存储过程做过修改,参数名变化,报错'header_id'是原先的参数,但是现在并没有该参数。
实在想不通,为什么会报错。于是复制原有存储过程语句,另建test1存储过程。
发现,运行成功!

另一项测试,新建页面调用原有存储过程WMS_PUTAWAY,调用成功!

原有WMS_PUTAWAY过程,在mysql中,使用call调用,调用成功!

猜想:活字格调用存储过程存在缓存机制?会保留一开始的链接信息/参数信息。于是:签入工程,重启活字格- -完事了,也不报错了
没有demo,因为我懒,有需要可以远程。

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您好,针对您描述的问题,我们已在本地进行测试,已复现此问题,现在正在调查该问题出现的原因,有了结果以后会尽快在论坛中给您回复。 目前的话,如果要修改参数名,建议大佬把demo保存一下,再重新打开,或者把逻辑复制出来新建一个存储过程,然后再活字格中使用新的存储过程。 问题跟进:MySQL有一个特点,它默认缓存存储过程。我们使用的MySQL数据库连接信息现在不支持关闭存储过程的缓存,所以目前来说它是一种限制,如 ...

6 个回复

倒序浏览
最佳答案
最佳答案
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-24 09:54:23
来自 7#
本帖最后由 Howie.Sun 于 2021-12-24 18:21 编辑
小土 发表于 2021-12-24 13:43
mysql 5.0以上,数据库类型InnoDB,活字格7.0.103.0
1.mysql 写一个存储过程,多写点参数in参数多个,out ...

您好,针对您描述的问题,我们已在本地进行测试,已复现此问题,现在正在调查该问题出现的原因,有了结果以后会尽快在论坛中给您回复。
目前的话,如果要修改参数名,建议大佬把demo保存一下,再重新打开,或者把逻辑复制出来新建一个存储过程,然后再活字格中使用新的存储过程。

问题跟进:MySQL有一个特点,它默认缓存存储过程。我们使用的MySQL数据库连接信息现在不支持关闭存储过程的缓存,所以目前来说它是一种限制,如果修改了MySQL的存储过程,建议您保存demo,再打开一下,这样存储过程的缓存就会被重置。
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-24 11:20:32
2#
大佬是不是不小心手滑写错了?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-12-24 11:23:09
3#
本帖最后由 小土 于 2021-12-24 11:25 编辑

不是的,报错 和 存储过程参数就是不一样。所以我才发的。他检索的参数没错,而且存储过程的参数是无法手动修改,是自动带进来的。
只是报错'参数信息',还是未修改之前的'参数',与实际参数是不一致的。所以我才说是'BUG'


回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-24 12:14:06
4#
小土 发表于 2021-12-24 11:23
不是的,报错 和 存储过程参数就是不一样。所以我才发的。他检索的参数没错,而且存储过程的参数是无法手动 ...

还是建议大佬仔细排查一下逻辑,或者给一个具体的复现步骤,不然我们也没法帮大佬分析鸭~
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-12-24 12:23:37
5#
David.Zhong 发表于 2021-12-24 12:14
还是建议大佬仔细排查一下逻辑,或者给一个具体的复现步骤,不然我们也没法帮大佬分析鸭~

昨天开始排查到现在了,demo搞不了,远程可以演示给你看。步骤稍后
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-12-24 13:43:39
6#
小土 发表于 2021-12-24 12:23
昨天开始排查到现在了,demo搞不了,远程可以演示给你看。步骤稍后

mysql 5.0以上,数据库类型InnoDB,活字格7.0.103.0
1.mysql 写一个存储过程,多写点参数in参数多个,out参数1个。
2.活字格引入该存储过程,点击开始,调用存储过程命令。
3.修改存储过程参数名,保存。
4.活字格自动修改参数名,我们手动重新选取单元格。
5.活字格再次点击开始,调用存储过程命令。
6.如果尚未出现问题,重复3-6;
7.保命项:不排除本人电脑,本人数据库,本人硬件软件设备以及编本人脑子等一系列因素,只是我发现问题然后提交,如果重复上述步骤,未遇到我说的问题,请当我放了个屁。
注意事项:以上过程中请勿退出活字格编译器。

评分

参与人数 1金币 +666 收起 理由
Howie.Sun + 666 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部