Chapter 5. Advanced Configurations

Table of Contents

Big Endian Clients with Buggy Microsoft SQL Servers
Localization and TDS 7.0
Microsoft Server Note
Domain Logins
Implementation details
Kerberos Support
Threading in unixODBC
Appending Dump Files
TDS Connection Pooling
stunnel HOWTO

This chapter details some advanced configurations that need expanded explanation.

Big Endian Clients with Buggy Microsoft SQL Servers

Several version of Microsoft SQL server have a bug that affects big endian clients. This includes 7.0 GA and 7.0 SP1. Furthermore, TDS Protocol version 7.0 is natively little endian. Microsoft SQL Server 2000 is also reported not to work from big endian clients without little endian emulation turned on.


The terms big endian and little endian come originally from Gulliver's Travels. In computer science they refer to the the integer byte-order for a processor. Big endian processors, such as Sparc and PowerPC store the most significant byte in the first memory location of a multi-byte integer. Little endian processors, such as Intel and Alpha do it the other way around. So the 16-bit number 258 would be 0x0102 on big endian and 0x0201 on little endian machines.

In this example we want to force connections to a server named mssql to emulate a little endian client. We are using protocol version 4.2 here, version 7.0 or above will automatically emulate little endian mode regardless of the freetds.conf setting. You shouldn't use this option, set another protocol version instead (7.0, 7.1, 7.2, 7.3 or 7.4).

Example 5.1. Emulate Little Endian freetds.conf setting

	host =
	port = 1433
	tds version = 4.2
	emulate little endian = yes