[freetds] Server - Problems with TDS 4.2 COLFMT token

Frediano Ziglio freddyz77 at tin.it
Mon May 17 13:32:18 EDT 2004

Il lun, 2004-05-17 alle 19:10, Steve Kirkendall ha scritto:
> "James K. Lowden" <jklowden at schemamania.org> wrote on Sunday, May 16, 2004:
> > On Sat, 15 May 2004, Steve Kirkendall <skirkendall at dsl-only.net> wrote:
> > > 3) For "timestamp", the SQL_DATETIME_SUB and INTERVAL_PRECISION columns
> > >    in sp_datatype_info's result table are null.  So that probably isn't
> > >    why Crystal Reports is truncating timestamps at 8 characters.  One
> > >    weird thing: your server reports "timestamp" as being generic binary
> > >    (type code -2) instead of ODBC timestamp (type code 11).
> > 
> > If you look in the ML archives, you'll find a short thread a few months
> > ago about timestamp data as it relates to BCP.  IIRC, the only way a
> > client knows it's got a timestamp column -- as opposed to, say, a generic
> > binary -- is that the server sets the usertype to 50.  You'll find some
> > brief mentions of that in Sybase's TDS functional specs, and, less
> > plainly, in Microsoft's documentation.  
> Very odd.  So the SYBDATETIME type code isn't used at all?  Is that
> part of the TDS protocol definition, or is it just a common bug in
> the Sybase and MS SQL servers?

??? I think you are mixing ODBC timestamp with sql server timestamp...
In ODBC timestamp data is related to a date while timestamp type in sql
server it's a binary column (there can be only one per table) that
change every time you change data in a row.


> In other news, I didn't quite finish my server library changes.
> I found a bug in the tds_env_change() function, and I'm trying to
> figure out what to do about it.  The bug is that for some environment
> types, it sends the TDS_ENVCHANGE_TOKEN but no data.  I'm hoping this
> is the source of at least some of the  "Protocol error in TDS data
> stream" errors that I get when I try using the MS SQL Server ODBC
> driver to access my server.

I think mssql driver require too many things... for example server
should be "Microsoft SQL Server", not "a sql server", also it does some
more query and calls some store procedure. Have you tried my setup
program (see

> On the bright side, I've received permission to make my little server
> be open source, so we have that to look forward to.

Awesome !!!


More information about the FreeTDS mailing list