繁体   English   中英

连接超时 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();
        }

}

您可能需要在配置文件中设置事务超时,如下所示;

<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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM