Microsoft Access DSN's no longer working after upgrading to ColdFusion 9

 

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.

 

  1. Look for config files that may contain tcp port settings.
    This led me to the following file


    D:\ColdFusion9\db\slserver54\cfg\swandm.ini

  2. Now look for TCP port references, which led me the following lines in this file
    ServiceConnectInfo=tcp://LOCALHOST.19999
    ServiceConnectInfo=tcp://LOCALHOST.20000


  3. I then compared this to the CF8 settings, which showed
    ServiceConnectInfo=tcp://LOCALHOST.19997
    ServiceConnectInfo=tcp://LOCALHOST.19998


  4. 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

windows 7 fails to load after partition change

Acronis True Image Home 2010I had recently installed a new BIGGER hard drive in my laptop and used Acronis True Image Home 2010 to copy my old disk to my disk, which works very well by the way and gives you the option to resize the original partition to the new disk size, or keep the original size. Upgrading to bigger disks has always been a PITA, so this is a very easy and cheap solution to that problem.

easyideThe other issue was of course connecting up 2 disks to my notebook in order to copy them, for this I used Easy IDE, which allows you to connect any IDE disks to your USB port. the easy IDE worked great for copying my 2.5" IDE notebook drive, however I have since tried to use it to connect up old 3.5" IDE disks and it has not done a very good job of recognising them, maybe they are too old.

 

I opted to keep the original size and then create a new partition in the free space so that I could install and dual boot windows 7 along side windows XP. meaning I could switch back to XP if I had any compatibility issues.

 

Well I have been running windows 7 for several weeks now with no issues (this is my 3rd windows 7 upgrade with no issues btw), all my software worked fine, and I don't even need to run a virtual machine any longer as Windows 7 includes a fully featured IIS 7 allowing multiple sites (unlike IIS 6 which allowed 1 site only). This has made a world of difference as my laptop really did slow down considerably when my vmware virtual machine was running. Now I have no slowdown at all, and much less memory/cpu consumption and in general I find that windows 7 runs faster than XP did. I have IIS, Coldfusion, MSSQL services all set to manual and only enable then when I need to use them, this is done via a batch file on my desktop.

 

So it came time to nuke my XP partition and give the space to windows 7, this is where everything went rather tits up. I used a free tool called Gparted to do my partition deleting and  resizing.

win7_startup_repairAs a result after restarted windows could not boot due to a missing bootmanager, this was no doubt due to the that it was on the deleted partition.

So I then booted off my windows 7 CD, went into System Recovery and used the Startup Repair option to fix this, which re-created the missing bootmanager.

This then allowed windows 7 to boot, however I was greeted with nothing more than an empty blue desktop with a notice in the bottom right corner telling me that my copy of windows 7 was not genuine. No taskbar, no start menu, no desktop icons, nothing.

Like most people I started to curse at this point foreseeing a re-install, but I wasn't giving up without a fight.

The first thing I tried was to get explorer up by pressing  "windows key + R", typing "explorer" and hitting enter. This worked and I got my desktop back, albeit with broken icons. But alas I couldn't run anything, not even open my computer, getting errors about paths not existing.

So I checked task manager "shift+ctrl+esc", chose file-> new task, from where you can actually choose browse and get to my computer. It was here that I noticed my C drive had become a D drive, which was obviously the cause of my problems, as windows clearly could not load properly as it was looking for a C drive.

 

regedit The solution to this is actually quite simply, a quick registry edit to remove the existing mounted drives will then cause windows to re mount them correctly.

To do this you need to boot windows into safe mode (hit F8 before windows boots to get the boot menu and choose safe mode). From the RUN prompt type "regedit", then check the box "run this command in privileged mode".

Now navigate to "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices", and delete the KEYS for the 2 disks which are the wrong way round (C & D in my case).

Now reboot windows normally and hopefully everything will be back to normal and you will also have a genuine copy of windows again.

 

The problem was most likely caused by deleting partitions outside of windows, what I probably should have done is delete the old partition from within windows first which would have let windows know about it so it would have then re-assigned the drive letters, and then just done the resizing via Gparted.

 

Hopefully this will help anyone else who may face thei problem and save you from a total re-install.

Cumulative Hot Fix 1 for Coldfusion 9

Technote here : http://kb2.adobe.com/cps/825/cpsid_82536.html

 

Bizzarely I cannot find any reference to this hotfix or tech note anywhere on the Adobe site, it is not on the below ColdFusion hotfixes or updates pages at the time of writing this, and is not in any of the ColdFusion RSS feeds. So not sure how people are supposed to find out about this. Very poor job Adobe, tut tut.

 

http://www.adobe.com/support/coldfusion/downloads_updates.html
http://kb2.adobe.com/cps/402/kb402604.html

ZendPHPviaFastCGI Gives 500 Internal Server Error

Been having a fun time today trying to get Magento CMS working. The bizarre situation was that PHP would work fine under the default web site, but not under any other web site, which would result in a 500 Internal Server Error caused by the ZendPHPviaFastCGI PHP handler mapping. See screenshot below. I of course tried every possible solution without success, the cause turned out to be rather obscure.

 

fastcgi error

 

 

What was required to fix this was to manually add this attribute to the handler mapping in the applicationHost.config file, which you will find in C:\Windows\System32\inetsrv\config.

 

allowPathInfo="true"

 

PathInfo refers to the additional path information that may follow the file name and extension in a Uniform Resource Identifier (URI). For example, if you request the URI http://localhost/test.dll/myinfo, the PathInfo portion of that URI is /myinfo

This parameter does not seem to exist in the IIS Manager and is not even mentioned in the handler docs so I really do really not know why this is required or why it is not there by default and why you cannot add it via the GUI.

 

So the final entry for my ZendPHPviaFastCGI handler looked like this.

 

<add name="ZendPHPviaFastCGI" path="*.php" verb="*" modules="FastCgiModule"

scriptProcessor="C:\Program Files (x86)\Zend\ZendServer\bin\php-cgi.exe"

resourceType="Either" requireAccess="Script" allowPathInfo="true" />

 

Credit must go to my buddy Matt Gahan for working this one out.

Q-waves USB AV Kit

q-waves

Overview

Q-waves Wireless USB AV Kit enables users to stream from any laptop, netbook or PC directly onto your TV screen quickly and simply, with full audio support. Great for PC Gaming! Make Skype video calls on your TV. Imagine BBC iPlayer on your TV - well now it's possible! Connect a TV or projector for home cinema, showing your photo's or playing your music and internet radio. Free yourself to watch what you want, when you want.

[More]