[freetds] Getting DB error = 20017 - Unexpected EOF from the server
craigberry at mac.com
Sun Mar 15 21:10:43 EDT 2009
On Sunday, March 15, 2009, at 05:13PM, "James K. Lowden" <jklowden at freetds.org> wrote:
>Jeff.Goodwin at fairchildsemi.com wrote:
>> It appears that the change did not have the desired effect:
>> DB error = 20004, Severity code = 9
>> DB error msg Read from the server failed
>> OS error # 54
>> OS error msg connection reset by peer
>54 ECONNRESET SS$_CONNECFAIL Connection reset by peer
>I think the problem originates on the server, or seems to from the
>I was hoping Craig would weigh in, because he's done the most to make
>FreeTDS work under VMS. You would certainly be one of only a small number
>of people using 0.82 with VMS.
I'm traveling and can't try to reproduce this at the moment. Actually I can't try to reproduce it anyway since I don't have any Sybase servers running. It does make sense to look at the "unusual" ingredients in the soup first when trying to figure out what's making the funny smell, but in this case I can't think of anything VMS-specific that is likely to be the culprit. I agree with James that something server-side is the most likely cause.
If it's difficult to pursue a server-side investigation without more ammo, I'd try to reproduce the problem on another client platform -- anything unixy should do. Reproducing it (or not) with a Sybase Open Client would also be a nice data point to throw in the mix.
[very nice analysis snipped]
>It's not due to a TDS protocol violation; we know that from the packet you
>sent. I would check the server logs, looking for resource exhaustion or
>other reasons it would close the connection. Also, the 24-hour thing is
>suspicious. Maybe some backup script or cleanup utility is closing
>"stale" connections or otherwise resetting the network interface. Or
>maybe a firewall shuts down connections after a period of inactivity.
>Keep in mind it might be half-closed.
This was actually my first thought. The first thing would be to sort out whether the connection reset happens at the same time every day or 24 hours from whenever you connect without regard to time of day.
More information about the FreeTDS