Eu tenho um problema ao conectar um banco de dados mssql via odbc no Ubuntu 16.04 LTS.
Eu instalei o driver unix odbc e mexilhão.
O driver mssql é declarado em odbcinst.ini:
statadmin @ dsc-stat: ~ $ cat /etc/odbcinst.ini
[Driver ODBC 13 para o SQL Server]
Descrição = Microsoft ODBC Driver 13 para o SQL Server
Driver = / opt / microsoft / msodbcsql / lib64 / libmsodbcsql-13.0.so.1.0
UsageCount = 1
Meu DSN chamado DW16 está em odbc.ini:
statadmin @ dsc-stat: ~ $ cat /etc/odbc.ini
[DW16]
Driver = Driver ODBC 13 para SQL Server
Nome do servidor = 10.0.0.52
Porto = 1433
uma conexão direta (sem DSN) no banco de dados funciona:
statadmin @ dsc-stat: ~ $ sqlcmd -S dsc-bdd1.dscptl.loc -U statsql
Senha:
1 > selecione top 5 libdef de defaut
2 > ;
3 > GO
libdef
PONCTUEL PADRÃO
SUREPAISSEUR
PLIS CASSES TISSAGE
FIL TIRANT
FIL
(5 linhas afetadas)
Mas usando o DSN, recebo um erro:
statadmin @ dsc-stat: ~ $ sqlcmd -D -S DW16 -U statsql
Senha:
Sqlcmd: Erro: Driver ODBC da Microsoft 13 para SQL Server: o tempo limite de logon expirou.
Sqlcmd: Erro: Microsoft ODBC Driver 13 para SQL Server: TCP Provider: código de erro 0x2AFA.
Sqlcmd: Erro: Microsoft ODBC Driver 13 para SQL Server: Ocorreu um erro relacionado à rede ou a uma instância específica ao estabelecer uma conexão com o SQL Server. Servidor não encontrado ou não acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. Para obter mais informações, consulte os manuais online do SQL Server.
Suponho que os problemas de autenticação do firewall, do tcp porter não estão aqui como trabalhos de conexão direta. Eu tentei com o endereço IP, bem como com o nome do servidor, sem diferença.
espero que alguém aqui tenha uma boa ideia para me ajudar.
Thomas