Killer Coldfusion trick

Today I was once again scrambling to not have to restart the server when a MS Access file got locked up.  I remembered doing something a long time ago to fix this, but I could not for the life of me remember what trick it was.  Due to a little bit of searching, I found out.

We still run MS Access on a few of our sites for various web services.  It isn’t a good idea at all, since MS Access wasn’t meant for website backends, but back several years ago, we either inherited the files, or didn’t yet have the ability to work with larger, better database systems, and now we do.  While we still don’t like the idea of hosting sites on MS Access tables, we still do, and now and again, we get a file lock issue which brings down any and all connections to the ODBC-based MS Access tables.  I don’t pretend to know why Coldfusion can’t handle releasing things that are stuck for so long, but it’s a problem, one that I have hopefully now solved.

First I attempted to restart all of the services.  The ODBC Server didn’t seem to want to respond, it was shutting down, for a really long time.  I found two updates for our database connections, ones that we had not applied yet, so I did so.  There was a newer mysql JDBC connector (it’s lovely) as well as updated DataDirect drivers.  So I stopped the Coldfusion server to get those files updated and restarted.  Still the ODBC server did not restart.  After trying to delete ldb files, trying to get programs to delete the ldb files, finally I ran across a site that mentioned the service (swsoc.exe) that the odbc server runs as.  I thought, well, lets kill that and restart the service, see what happens.  And it worked.

Finally, I get to have breakfast.