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