Timeout setting for SQL Server

后端 未结 3 1801
半阙折子戏
半阙折子戏 2020-12-08 10:48

I am using VSTS 2008 + ADO.Net + C# + .Net 3.5 + SQL Server 2008. I am using ADO.Net at client side to connect to database server to execute a store procedure, then return r

相关标签:
3条回答
  • 2020-12-08 10:53

    As gbn already mentioned, there are two types of timeouts:

    1) Connection Timeout: this is controlled by your connection string:

    Data Source=.;Initial Catalog=TestDB;
       Trusted_Connection=true;Asynchronous Processing=true
    

    If you add a Connect Timeout=120 to this string, your connection will try for 120 seconds to get opened and then aborts.

    Data Source=.;Initial Catalog=TestDB;
       Trusted_Connection=true;Asynchronous Processing=true;
       Connect Timeout=120;
    

    2) Command timeout: for each command, you can also specify a timeout - ADO.NET will wait for that amount of time before cancelling out your query. You specify that on the SqlCommand object:

        using (SqlCommand RetrieveOrderCommand = new SqlCommand())
        {
           RetrieveOrderCommand.CommandTimeout = 150;
        }
    
    0 讨论(0)
  • 2020-12-08 10:56

    Yes, there are 2 kinds of timeout that can be set

    1. Connection timeout
    2. Command timeout

    Both default to 30 seconds in VBA, .net etc

    0 讨论(0)
  • 2020-12-08 11:07

    In sqlconnection class, there is a property by name ConnectionTimeout.

    This cannot be directly used to set desired connection timeout value as it is readonly i.e. only "get" is implemented & "set" is not implemented on this property.So we have to use keyword "Connection Timeout" in the connection string itself & set the desired value.

    exi:

    Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI;Connection Timeout=30";(30 means 30 seconds)

    30 seconds is the maximum time given to establish connection to the server(like 172.160.0.2 OR something like ADMINISTRATOR\\SQLEXPRESS).If it could not immediately establish connection to server , then it will try up to 30 seconds.

    If server is valid & is able to connect to server & if database name or login credentials are invalid , then this timeout won't be applicable.It immediately throws exception for invalid credentials or database

    0 讨论(0)
提交回复
热议问题