[英]Connection Timeout SQL c#
我有一个项目,当我尝试运行它并且数据测试很大时,我总是连接超时。 我添加了“ sqlCmd.CommandTimeout = 3600; ”但仍然无法正常工作。 我可能做错了什么?
这是我的代码:
public void createCode(String ce, int ord, String beh, int wkd)
{
String strSql = "";
SqlCommand sqlCmd;
SqlConnection conexion = new SqlConnection(getConexion());
try
{
if (conexion.State != ConnectionState.Open)
conexion.Open();
//The insert works fine in sql server
strSql = "Insert into x with values";
sqlCmd = new SqlCommand(strSql, conexion);
sqlCmd.CommandTimeout = 3600;
sqlCmd.ExecuteScalar();
}
catch (Exception ex)
{
throw new Exception("Error creating Code. " + ex.Message);
}
finally
{
if (conexion.State == ConnectionState.Open)
conexion.Close();
}
}
您可能需要在配置文件中设置事务超时,如下所示;
<system.transactions>
<defaultSettings timeout="01:00:00" />
</system.transactions>
sqlCmd.ExecuteScalar() 对您的脚本不正确,请尝试改用 sqlCmd.ExecuteNonQuery() 并删除超时。
sqlCmd = new SqlCommand(strSql, conexion);
sqlCmd.ExecuteNonQuery();
检查每个函数,ExecuteScalar 尝试从选择中返回第一个值,而 ExecuteNonQuery 不检索任何值,只获取受影响的行数。
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.