Skip to Content.
Sympa Menu

freetds - Re: [freetds] Can no longer connect (by tsql or PHP) - "Msg 20004, Read from SQL server failed"?

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT freetds.org>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Can no longer connect (by tsql or PHP) - "Msg 20004, Read from SQL server failed"?
  • Date: Tue, 15 Nov 2005 23:01:04 -0500

Michael Starling wrote:

> Thanks for the reply...

You're welcome.

> > That assumes, as your original message showed, that you're using the
> > TDS 5.0 protocol, which you can verify that with TDSDUMP. Here I try
> > to connect to my X server (which is listening but doesn't understand
> > TDS!): ...
>
> I did the same thing and the dump looks similar. I noticed you got the
> #20004 (Read failed), as I did... although sometimes I got #20006 (Write
> failed) on a few attempts. I guess that's basically the same issue.
>
> Would TDS 5.0 be incompatible with some flavours of Sybase (they said
> it's "ASA 8")...? I see in the FAQs that the current version supports
> 4.2, 5.0, 7.0, and 8.0 - and can connect to any Sybase (or Microsoft)
> server - but would I have to change the protocol version used?

TDS 5.0 is incompatible with ancient Sybase. Sybase System 10, released
circa 1994 (shortly after Hadrian's Wall, IIRC) was the first to sport TDS
5.0. As documented in the User Guide :-) that's the last version Sybase
supports. The others are Microsoft flavors.

ASA I wasn't expecting. ASA (Sybase SQL Anywhere) has a special
requirement: the [dataserver] name in freetds.conf *must* match the name
of the database you're using on the server you're connecting to. You'll
have to get your freetds.conf entry right, and test with 'tsql -S' instead
of 'tsql -H'. I googled myself on the subject. (Weird, I know, but it
happens. Type "sybase asa 8" into Google and see.)

https://lists.ibiblio.org/sympa/arc/freetds/2004q2/016351.html

FWIW, ASA uses TDS 5.0, but doesn't default to 4000. The default is here:
http://www.freetds.org/userguide/freetdsconf.htm#FREETDSCONFFORMAT

Still, you should be getting *something* back from the server. If your
TDSDUMP log doesn't show a response packet, you can be pretty sure you
didn't get one. Whether because the server didn't send it or the network
didn't transmit it, we don't know. :-(

HTH.

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page