我有一个要运行的长时间运行的SQL语句,无论我在连接字符串的"TIMEOUT="子句中放什么,它似乎总是在30秒后结束.

我只是使用SqlHelper.ExecuteNonQuery()来执行它,并让它负责打开连接等.

是否有其他内容可能会覆盖我的超时,或导致sql server忽略它?我已经对查询运行了探查器,当我在management studio中运行它时,与在代码中运行它时,跟踪看起来没有任何不同.

Management studio大约在一分钟内完成查询,但即使将超时设置为300或30000,我的代码在30秒后仍会超时.

推荐答案

您使用什么设置连接字符串中的超时?从内存中,这是"ConnectionTimeout",只会影响实际发送到服务器所需的时间.

每个单独的命令都有一个单独的"CommandTimeout",这将是您正在寻找的.不过,不确定SqlHelper是如何实现这一点的.

Database相关问答推荐

在GridDB中使用存储过程失败

撤销语句释放类实例中可用的缓冲区

如何在没有sqlmock的情况下模拟db ping

如何将表字段的默认值设置为 0.00?

数据库中的每个表都应该有一个 SQLiteOpenHelper 吗?

Sql更新查询

使用 Java 对 mysql 数据库进行简单备份和恢复

多少个外键才算太多?

在插入数据库之前而不是在输出时转义 HTML 是不是一个坏主意?

保存图像:文件还是 blob?

关系数据库如何在幕后工作?

在 SQL Server 中存储属性的最佳模式是什么?

如何将数据库从一台计算机复制到另一台计算机?

mysql,dump,数据库restore恢复

postgresql 在 where 子句中使用 json 子元素

使用 JSON 作为存储/传输格式的数据库

为什么用 varbinary 而不是 varchar

使用 Django 的复合/复合主/唯一键

Spring data : CrudRepository 的保存方法和更新

LevelDB 支持 java 吗?