Pasé mucho tiempo hoy depurando un problema similar. Había configurado la "versión TDS" en freetds.conf pero no se estaba usando en mi conexión ODBC. Después de leer el código fuente de freetds (connectparams.c:odbc_parse_connect_string) descubrí que:
- Si su cadena de conexión usa "SERVER=", se ignorarán tanto freetds.conf como odbc.ini
- Si su cadena de conexión usa "SERVERNAME=", entonces se usan las configuraciones en el servidor freetds.conf apropiado
- Si su cadena de conexión usa "DSN=", entonces se usan las configuraciones en el DSN de odbc.ini apropiado
odbcinst.ini es una pista falsa. FreeTDS nunca comprueba la configuración.
La configuración que especifica en la cadena de conexión siempre se respetan. También siempre respeta las variables de entorno como TDSVER.