I upgraded a CF8 server to CF9 the other day and thought everything had gone fine, but today I received an email from a user saying his Microsoft Access DSN was no longer working.
The error was:
[Macromedia][SequeLink JDBC Driver]TCP/IP error, connection refused
First course of action was to google the error as usual, which turned up nothing useful, so then started my own investigations using a bit of common sense.
I checked the SequeLink ODBC services and they were running, so I tried to restart and they would not.
It was at this point that I noticed all the CF8 services were still running, which was odd, because while CF9 leaves CF8 intact it should disable and stop all the services. This has been the case since CF7 in fact that the previous version is left intact.
Thinking back on my install I remembered CF informing me that it had detected CF8 was installed and had changed a couple of ports for some reason, I thought nothing of it at the time as I presumed it would not cause a problem, but in hindsight I should have known better as whenever CF has ever used alternative ports for anything in the past it has always caused issues.
I also did not stop all the CF8 services prior to installing CF9, as the installer always does this for you anyway, but I guess in this case it did not and thus detected a conflict. So a lesson learned there, always stop all services prior to an upgrade.
So anyway I was sure the problem was with the ODBC service, so the next step was to hunt for the tcp settings, this actually proved to be quite simple in the end.
I first checked the windows service and see where the exe file is located, which pointed me to
D:\ColdFusion9\db\slserver54\bin\swagent.exe "ColdFusion 9 ODBC Agent"
Ah now my memory was starting to clear, this is where the SeqeuLink drivers are.
- Look for config files that may contain tcp port settings.
This led me to the following file
D:\ColdFusion9\db\slserver54\cfg\swandm.ini - Now look for TCP port references, which led me the following lines in this file
ServiceConnectInfo=tcp://LOCALHOST.19999
ServiceConnectInfo=tcp://LOCALHOST.20000 - I then compared this to the CF8 settings, which showed
ServiceConnectInfo=tcp://LOCALHOST.19997
ServiceConnectInfo=tcp://LOCALHOST.19998 - So clearly CF had indeed changed the ports due to a conflict. So I simply set the ports back to 19997 and 19998 in that order, stopped and disabled all the CF8 services, and started the CF9 ODBC services and voila everything was fixed.
So what initially seemed like it was going to be PITA problem actually only me less and 1 hour to resolve, and most of that was spent googling for a solution and finding nothing. Once I actually started my own investigation it actually took less than 30 minutes to diagnose and resolve, sods law.
If you are having some other type of SequeLink ODBC service errors that are not fixed by my solution then the following TechNote may also help you out.
http://kb2.adobe.com/cps/188/tn_18800.html
May 14, 2010 at 7:14 AM solved my problem - thx so much
May 25, 2010 at 5:50 PM Thank you Russ for the article, beautifully explained. You save us a bunch of time.
Jun 13, 2010 at 7:09 AM You write good articles,I like your essay.
http://www.chanelbags2010.com/ chanel bags 2010
http://www.chanelbags2010.com/ chanel bags
http://www.chanelbags2010.com/ cheap chanel bags
http://www.chanelbags2010.com/ chanel bags online
Jun 25, 2010 at 2:08 PM The snake strikes again! Thanks for the post.
Sep 28, 2010 at 7:27 PM Thanks for posting this. After an hour of searching and coming up blank, your solution got me up and running again.
Oct 12, 2010 at 2:25 PM Thanks for the post as it helped me solve the issue. I took a different approach by deleting the datasource to the access database and then re-adding it. That worked for me. Although I only had one ms-access database connection where if you had quite a few, then the port change may make it easier. Thanks again.
Aug 2, 2012 at 2:15 PM Awesome fix. Clear instructions. No doubt you saved me hours of frustation and days of googling. Thank you!!