连接超时 SQL c#

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();
        }

}

sqlCmd.ExecuteScalar() 对您的脚本不正确,请尝试改用 sqlCmd.ExecuteNonQuery() 并删除超时。

        sqlCmd = new SqlCommand(strSql, conexion);
        sqlCmd.ExecuteNonQuery();

检查每个函数,ExecuteScalar 尝试 return 来自 select 的第一个值,而 ExecuteNonQuery 不检索任何值,只是获取受影响的行数。

希望对您有所帮助!

您可能需要在配置文件中设置事务超时,就像这样;

<system.transactions>
   <defaultSettings timeout="01:00:00" />
</system.transactions>