Mar*_*rus 3 .net c# sql-server
我有一个令人沮丧的问题,查询通常需要1.5-2分钟才能运行(由于缺乏修改此数据库的能力,我们无法比这次更多地改进它).尽管Command Timeout属性设置为0(这是C#代码),查询超时.
以下是执行查询的代码:
public DataTable GetData()
{
DataTable results = new DataTable();
try
{
using (var sqlConnection = new SqlConnection(ConfigurationManager.AppSettings["SqlConnectionString"].ToString()))
{
String command = _query;
sqlConnection.Open();
var sqlCommand = sqlConnection.CreateCommand();
sqlCommand.CommandText = command;
sqlCommand.CommandType = CommandType.Text;
sqlCommand.CommandTimeout = 0;
SqlDataAdapter daM = new SqlDataAdapter(sqlCommand.CommandText, sqlConnection);
daM.Fill(results);
sqlConnection.Close();
}
}
catch(Exception e)
{
Console.WriteLine("Error " + e.StackTrace);
}
Console.WriteLine("Retrieving results for query " + _query);
Console.WriteLine("Total Results: " + results.Rows.Count);
return results;
}
Run Code Online (Sandbox Code Playgroud)
我不知道在哪里寻找罪魁祸首.设置更明确的超时没有任何作用,正如我所说,没有办法进一步改进我们能够找到的查询.连接字符串具有以下参数:
server =
集成安全性= SSPI
database =
连接超时= 0
关于我接下来要去哪里的建议?我们正在使用Microsoft SQL Server.
And*_*yev 11
你已设置sqlCommand.CommandTimeout,但后来你创建SqlDataAdapter了
SqlDataAdapter daM = new SqlDataAdapter(sqlCommand.CommandText, sqlConnection)
Run Code Online (Sandbox Code Playgroud)
这里适配器隐式创建和使用new SqlCommand(不是你配置的那个),因为你已经传递了命令文本,而不是实例SqlCommand.
使用另一个构造函数SqlDataAdapter并创建它
SqlDataAdapter daM = new SqlDataAdapter(sqlCommand)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14162 次 |
| 最近记录: |