FreeTDS/unixODBC + Microsoft SQL Server 7: Communication link failure (on write)

I've developed a C++ application for Solaris that reads and writes from a remote Microsoft SQL Server 7.
It utilizes FreeTDS and unixODBC to communicate with the SQL Server.

On my customer's development system and network, the application worked without issue.
However, after moving their SQL Server machine onto their production network and installing my application on their production system, they are now encountering problems.

After some investigation, I've found that my application is able to perform reads but encounters a "communication link failure" error upon write.
The customer has connected to the SQL Server using a laptop with an ODBC client and is able to read and write without a problem.

The customer claims that both networks use an identical switch with identical configuration, no firewall is involved.
This leads me to believe there is differing network configuration between the development and production Solaris machines, or there is in fact some intricate difference between the network set ups.

I'm quite stumped at this point. Any insight would be appreciated.
Bear in mind that since this is a production system, I do not have free reign.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You need to enable both named pipes and tcpip in sql server for freetds to connect.
bejhanAuthor Commented:
Thank you, I will have the customer check this.

If this is not properly set up, FreeTDS could be partially functional? I'm just stumped as to why reads work but writes don't.

As well, why would this work on one network but not the other? The customer indicated the same machine is being used.
What read fails? On the socket or you can update table record but cannot select anything?
My bet was on the first one.
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

bejhanAuthor Commented:
Reads work, I can execute SELECT queries.
It is writes that fail, I cannot execute UPDATE queries (I get the "communication link failed" error).
SQL servver 7 is EOL for long
See this for only KB article with your error message:
Pointing to network drivers in 2003SP2
With both products EOL prepare for a failure to connect to that server ever.
bejhanAuthor Commented:
The error mysteriously disappeared. I have a feeling the customer did something that they are not reporting.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Probably they did network dump based on that your application worked in one case and did not work in other. Glad it is solved.
bejhanAuthor Commented:
No solution but experts suggestions were useful.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server

From novice to tech pro — start learning today.