Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

freeTDS não usando sua configuração


Passei muito tempo hoje depurando um problema semelhante. Eu havia definido a "versão TDS" no freetds.conf, mas não estava sendo usada na minha conexão ODBC. Depois de ler o código fonte do freetds (connectparams.c:odbc_parse_connect_string) descobri que:
  • Se sua string de conexão usar "SERVER=", tanto freetds.conf quanto odbc.ini serão ignorados
  • Se sua string de conexão usar "SERVERNAME=", as configurações no servidor freetds.conf apropriado serão usadas
  • Se sua string de conexão usar "DSN=", as configurações no DSN odbc.ini apropriado serão usadas

odbcinst.ini é um arenque vermelho. O FreeTDS nunca verifica isso para configurações.

As configurações que você especifica na string de conexão são sempre respeitados. Também sempre respeita as variáveis ​​de ambiente como TDSVER.