Gopal
Gopal

Reputation: 11972

How to solve TimeOut Expired Problem?

Using SQL Server 2005 and VB6

When I executing for yearly data or more than 3 months' data, it is showing "Timeout Expired" error. It is not executing completely.

My Connection String

ConnectionString = "Provider=SQLOLEDB.1;" & _
    "Persist Security Info=False; " & _
    "User ID=" & Settings.SQL_Username & _
    "; Password = " & Settings.SQL_Password & "; " & _
    "Initial Catalog=" & Settings.SQL_DatabaseName & ";" & _
    "Data Source=" & Settings.SQL_ServerAddress

How do I solve this problem?

Plz...

Upvotes: 11

Views: 57549

Answers (4)

Dinah
Dinah

Reputation: 54017

You have to set .CommandTimeout on the command. It doesn't work if you set it in the connection string.

Upvotes: 3

marc_s
marc_s

Reputation: 754230

There's no "black voodoo magic" out there - either you can make your query go faster (return less data, improve the database design, find and apply indices that make your queries execute faster), or then increase the timeout you allow the query to run before a timeout is thrown.

Those are your two options - take your pick.

UPDATE: a little googling reveals:

Dim cmd
Set cmd = Server.CreateObject("ADODB.Command")
cmd.CommandTimeout = 120   ' number of seconds

Marc

Upvotes: 18

Callie J
Callie J

Reputation: 31296

I would guess you're either trying to pull back a lot of data and it's taking SQL Server more than the default ADO timeout (either 30 or 40 seconds?) to pull that data back.

Or it's not really a lot of data, but you've not got a decent index on the table - so I'd check the indexes against your query (execution plan is your friend here).

Or it's a mix of both.

How long does the query take if you run it direct in SQL Management Studio?

Upvotes: 1

Hector Minaya
Hector Minaya

Reputation: 1705

Obviously you are trying to bring up a lot of data, and your database is taking a lot of time doing this. Post your connection string so I can tell you what parameter to change so you can increase the connection time out.

Or you can try to optimize your app, it should take that long to bring up data.

Upvotes: 0

Related Questions