gpt4 book ai didi

c# - 从 C# 调用 MySQL 存储过程超时

转载 作者:行者123 更新时间:2023-11-29 02:37:30 25 4
gpt4 key购买 nike

SP_A 是调用 SP_B 的存储过程,然后执行 SELECT,然后更新 SP_B 刚刚更新的相同记录/列. SP_A 有一个围绕 SELECT 和 UPDATE 语句的 TRANSACTION,后跟一个 COMMIT。

现在,当我从 MySQL 命令提示符调用 SP_A 时,一切正常。但是,当我从 C# 调用它时,它每次都会超时。

奇怪的是,如果我更改 SP_A 使其不调用 SP_B 并从 C# 代码调用 SP_B 然后SP_A 分开,它有效。这是为什么?

我仍在努力确定问题所在。可能是:

  • 你不能调用一个调用另一个 SP 的 SP
  • 您不能调用一个 SP 调用另一个 SP 更新与被调用者更新相同的记录
  • 当涉及交易时,您不能执行上述操作

请记住,只有在使用 MySqlCommand 从 C# 运行它时才会出现问题



注意:
MySql.Data v2.0.50727
MySQL Connector Net 6.2.2
MySQL 的 ADO.Net 驱动
.NET 框架 4

最佳答案

听起来像 CommandTimeout是问题 -> 无论何时发生“长”查询,.NET 连接器都会超时。增加 CommandTimeout阈值应该允许查询/过程工作。

注意:超时以秒为单位。

关于c# - 从 C# 调用 MySQL 存储过程超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3015141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com