"Exception 80004005" has to be the worse error description I've seen. This is not the error number, it's the description. I received this error today when I was working on some legacy Visual Basic script in VisiWatch (an EAI application developed by SoftBrands).
There is some sporadic information out there on this error. However, all of the guidance revolved around IIS code and suggested corruption, permissions, etc. Of course this guidance led me on a wild goose chase. After awhile I was able to isolate the problem to the specific SQL statement and not any type of connection method I was using (I was executing a Command and storing the result in a Recordset, and the connection was to a remote Access database that linked to another remote Access database -- so the setup is complex).
The problem? One of the fields in the table queried is named "Language". Apparently, ADO/OLEDB does not like that name and it fails with a totally useless error message. The problem was solved by escaping the field name.