ADO error 800a01fb

I ran into this error when working on an ASP/SQL Server application. It was intermittent and would occur at random parts of the code. The part that was consistent was that it always occurred when trying to connect to the database. A reboot of the server seems to have solved the problem.

Trying to google for a solution proved that everybody else hadn't a clue what was going on either. In testing a part of my application which happened to be doing some recursive calls, I ran into some syntactical errors. After getting the code to work, I noticed the new error occur. At first I changed my code thinking that there was an actual problem with it. This is where I suddenly noticed that, yes, my code was working correctly and that there was something else going on. So here's my theory, which will hopefully help somebody out: my initial bug created some database connections that never got closed. With a limited number of connections left, I would occasional get the ADO error 800a01fb indicating that I ran out of connections. By restarting the SQL Server and IIS services, everything started working again. Therefore, if you run into this problem the first step should be to restart those services. If, after that, the error still shows up, comb your code for connections that aren't getting closed. Then restart those services again.

Published August 23, 2004 · Updated September 17, 2005
Categorized as SQL
Short URL: https://snook.ca/s/210

Conversation

2 Comments · RSS feed
Alan B said on October 08, 2004

I have the same problem, but even upon restarting the services (and rebooting) and checking that I close all my connections/recordsets the problem still remains.

I can't seem to find *anything* about this error on the Microsoft site.

Andres Torchi said on August 18, 2005

Hi,
In fact I have the same problem but i'm working with Access from a asp page.
Like Jonathan I have a recursively function.
First I test ran several querys with the same connection, I mean send the connection liek parameter, keeping it alive, and closing it when the functions return the value.
Then I test open a new connection in every function call, and nothing change.
The resul is the same.

Sorry, comments are closed for this post. If you have any further questions or comments, feel free to send them to me directly.