Tuesday, December 06, 2005
MSDE/MSSQL on Windows 2003
X-Men promised to deliver a solution on DB2 and Websphere. However, on the date of delivery, they came and said that their developers had a change of mind and now it is on MSDE and Tomcat. I will never every know what and who gave them the right to change operating environment? Anyway, they promise me that MSDE is free even for production use and if MSDE is not good enough, I can always purchase license for MSSQL and run the solution with MSSQL. If I really dislike both, I will have to wait for them to rewrite the code to fit DB2. So, do I have a choice? Anyway, so they came and do the setup and installation as promised. We provide them with a Microsoft Windows 2003 machine complete with latest fix pack. They proceed to install MSDE and Tomcat. Took them quite some time to do it. After a while, they complain to me that my Windows 2003 does not belong to a domain and they can't get the MSDE to work properly. They said their development environment back home has domain, so I have to give them domain environment or upgrade to MSSQL. I was really pissed. Anyway, I got instructions to give them whatever they asked for, just to see the system up and running. So, we got them MSSQL. Then they claim they need help on setting up MSSQL. This X-Men really want a foot when you give them an inch. So, we have to plead with Microsoft development team to send someone to install for them. After installing the MSSQL, we left them to setup their application. After a while, they came back and ask for the Microsoft guy assistance again. They said something about url configuration for MSSQL. Guess what, they actually need the JDBC url. I mean, they are suppose to be Java Developers sent from far far away to do setup and installation on Java Web Application, and they are asking for JDBC connection url from a Microsoft guy? How low can they get? Anyway, sensing that they are drowning in troubles, I offered help again. Looking at system, I see that the MSSQL TCP port is not available under netstat. Suspecting something amiss, I check the system log. There, in plain English sentence, it is stated that Microsoft Windows 2003 is smart enough to disable the TCP port because MSSQL is not patched and is vulnerable. So smart of Windows, but how come it doesn't prompt us when it disable? Or did it disabled and prompt but the X-Men didn't notice or had ignored it? So, all those crap about MSDE on domain is absolute bullshit. It was because of not patched version of MSDE that's why it is causing error. So, I ran and grab them a MSSQL Service Pack 4 (IIRC) and pass to them to install. I told them specifically to install the service pack and then try the setup again. I left them for a few hours and when I return, no progress. Ask them why, and they said that they installed the service pack but still cannot connect. Seeing what I did with netstat earlier, they become smarter and showed me that the port is still not opened. Damn these copy cats. To cut things short, they blame the sky and the earth for things not working and left for something to eat claiming that they skipped lunch earlier the day. Curious, I googled on how to check MSSQL version, seems like you can't just click help about to do it. You need to connect to the db and issue a command. I did as per what I found in Google and found that the version is still based. No service pack installed. Pissed again that these X-Men doesn't know what they were doing and wasting my time telling me bullshit, I installed the service pack myself. After installing, I even setup their Tomcat so that it can connect properly to MSSQL for them. I could it get everything working even before they finish their meal. I am no genius and I have never used MSSQL with JDBC before, so I can only assume that these X-Men are either fools or do not know what they are doing. Next time if you are given the duty to do integration, make sure you know your JDBC settings in and out. For example, in this scenario, if they were smart to connect using netbios(or is it some other protocol) instead of TCP, they won't need to waste so much time and effort. Or if you are a Project Manager in charge of delivery, make sure you pick the right guy who knows well enough to bring along with you to do integration.