Problema ao conectar-se ao servidor SQL via FreeTDS / UnixOdbc

1

Estou tentando se conectar ao servidor MS-SQL via ODBC, provavelmente esta é uma das perguntas mais frequentes, mas esta é muito estranha porque a mesma configuração funciona na minha máquina local, quer dizer, eu fiz tudo no meu computador local e está OK, mas agora em outra máquina não está funcionando.

Eu instalei pacotes de pré-requisitos via

sudo apt-get install unixodbc unixodbc-dev freetds-dev freetds-bin tdsodbc

Minhas configurações

/etc/freetds/freetds.conf
# A typical Microsoft server
[SQLDemo]
host = xxx.xxx.xxx.xxx
port = 1433
tds version = 8.0      # I've tried 7.0, 7.2 as well
-----------------------------------------------
/etc/odbc.ini
[SQLDemo]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Server=xxx.xxx.xxx.xxx\SQL2014      #I've tried servername=SQLDemo as well
Database = MY_DB_NAME
-----------------------------------------------
/etc/odbcinst.ini
[ODBC]
Trace=Yes
TraceFile=/home/odbc_trace.log

[FreeTDS]
Description = TDS Driver (Sysbase/MS SQL)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup =  /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
FileUsage = 1

Estou executando o código abaixo e obtenho o erro

cnnstr = 'DSN=%s;UID=%s;PWD=%s' % ('SQLDemo', 'xyz', 'xyz');
db = pyodbc.connect(cnnstr);

pyodbc.Error: ('08001', '[08001] [unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)')

Eu preciso saber o que está errado aqui. Preciso mencionar novamente o mesmo config / code funciona no meu computador local.

ambas as máquinas são Ubuntu 16.04

Obrigado antecipadamente

    
por Bahram 07.12.2016 / 09:52

1 resposta

0

O problema estava relacionado à porta padrão da instância do SQL Server na máquina de destino. Ela foi alterada para 1434. Portanto, todas as configurações estão corretas, é necessário ajustar o número da porta, também antes da conexão, certifique-se da porta do SQL Server. / p>     

por Bahram 09.12.2016 / 11:16