gpt4 book ai didi

c# - 从代码运行时存储过程超时,而不是从查询工具运行

转载 作者:太空狗 更新时间:2023-10-29 20:48:53 25 4
gpt4 key购买 nike

我试图弄清楚为什么在 SQL Server 快速查询窗口中存储过程调用需要几秒钟,但是当我在代码中运行调用存储过程时,查询超时。我们使用的是 sql server 2008。我知道在没有看到存储过程的情况下很难准确地说出发生了什么。我只是希望这是一个已知问题。非常感谢任何指导。

调用“STORED_PROCEDURE_X”并在 SQL Server Express 查询窗口中运行 2 秒的 SQL 查询:

EXEC STORED_PROCEDURE_X '07/01/2010', '07/31/2010', 0, '', 'true','', 'Top 20'

调用“STORED_PROCEDURE_X”和超时的代码:

SqlConnection connSQL = null;
SqlCommand sqlCmd = null;
SqlDataAdapter sqlDataAdpater = null;
DataTable returnData = null;

try
{
returnData = new DataTable();
connSQL = new SqlConnection(sqlConnection);
sqlCmd = new SqlCommand("STORED_PROC_X", connSQL);
if (connSQL.State == ConnectionState.Closed)
{
connSQL.Open();
}
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandTimeout = 600;
sqlCmd.Parameters.Add("@StartDate", SqlDbType.NVarChar).Value = "07/01/2010";
sqlCmd.Parameters.Add("@EndDate", SqlDbType.NVarChar).Value = "07/31/2010";

sqlCmd.Parameters.Add("@AuditType", SqlDbType.Int).Value = "0";

sqlCmd.Parameters.Add("@SortBy", SqlDbType.NVarChar).Value = "";

sqlCmd.Parameters.Add("@IsClaimDepartment", SqlDbType.NVarChar).Value = "true";
sqlCmd.Parameters.Add("@IdsList", SqlDbType.NVarChar).Value = "";
sqlCmd.Parameters.Add("@ReportType", SqlDbType.NVarChar).Value = "Top 20";
sqlDataAdpater = new SqlDataAdapter(sqlCmd);
sqlDataAdpater.Fill(returnData);
if (connSQL.State == ConnectionState.Open)
{
connSQL.Close();
}
return returnData;
}
catch (Exception ex)
{
LogErrorMessages("ExecuteStoredProcedure", ex.Message);
throw ex;
}

收到异常:

System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

最佳答案

因此,运行返回 30 条记录的存储过程在管理控制台中花费了我 00:00 秒,但在 .net 中加载它时我花费了大约 40 秒,超过了默认的 30 秒超时时间。

我只是修改存储过程并重新运行 ALTER PROCEDURE... 代码而不做任何更改,问题立即得到解决。我没有关于此错误来源的更多详细信息,但至少这是一个非常快速的修复

关于c# - 从代码运行时存储过程超时,而不是从查询工具运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398349/

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