[freetds] Can't login to SQL Server using TDSVER 7.2 when user's default database is mirrored

James K. Lowden jklowden at freetds.org
Thu Sep 5 22:15:41 EDT 2013


On Thu, 5 Sep 2013 14:25:24 -0600
Matt Grimm <matt.t.grimm+freetds at gmail.com> wrote:

Let me simplify the log so we can see what's happening.  There's
definitely something unusual going on .  

> net.c:609:Received packet
> ...  <== your elision, packet data. 
> 
> token.c:337:looking for login token, got  e3(ENVCHANGE)
...
> token.c:2588:tds_process_msg() reading message 5701 from server
...
> token.c:337:looking for login token, got  e3(ENVCHANGE)
...
> token.c:2419:tds_process_env_chg(): 5 bytes of collation data
...
> iconv.c:988:setting server single-byte charset to "CP1252"
...
> token.c:337:looking for login token, got  e3(ENVCHANGE)

No logged activity for this E3 packet.  That's a little odd. Maybe
benign, because not every kind of env change is logged.  But if the
protocol parser didn't deal with the packet correctly, it could have
become desynchronized and decoded the next byte as a new packet token
instead of part of this E3 packet.  

> token.c:337:looking for login token, got  6e()

The "()" after "6e" means the logging system doesn't have a name for
that token.  That's bad.  In a few lines FreeTDS will bail.  

> odbc.c:2270:msgno 20020 20003

EBADTOK, ETIME

> token.c:256:Unknown marker: 110(6e)!!
> login.c:466:login packet accepted

a little confusion there ...

> error.c:412:odbc_errs_add: "Unable to connect to data source"

Ciao. 

Easiest would be if you would post the elided packet.  Second best
would be to send it to Freiano and me.  it needs to be analyzed first,
and compared against the public documents.  Then we'll see what comes
next.  

--jkl


More information about the FreeTDS mailing list