Acesso RODBC MS SQL a partir do Ubuntu usando o FreeTDS
Estou tentando acessar o servidor MS SQL hospedado na minha caixa do Windows em uma máquina Ubuntu. Eu tenho um aplicativo brilhante que acessa o MSSQL que funciona bem no Windows. Quero hospedar isso com um servidor brilhante no Ubuntu para que outros possam acessar a página da web e fornecer seu servidor SQL como entrada para o aplicativo.
Tudo isso funciona bem no Windows. Agora não consigo fazer o unixODBC funcionar. Eu acho que tenho a instalação e configuração odbc / freeTDS correta. Eu sou capaz de conectar e consultar a instância do SQL DB do terminal Ubuntu usando tsql -S. Demorou um pouco de pesquisa, mas eventualmente funcionou.
Agora, quando tento conectar a partir do R, recebo esse erro.
sql <- odbcConnect("abc.xyz.com", "uname", "passwd")
No odbcDriverConnect ("DSN = abc.xyz.com; UID = uname; PWD = passwd"): [RODBC] ERRO: estado 08001, código 0, mensagem [unixODBC] [FreeTDS] [SQL Server]Não foi possível conectar à fonte de dados 2: No odbcDriverConnect ("DSN = abc.xyz.com; UID = uname; PWD = passwd"): [RODBC] ERRO: estado 01000, código 20002, mensagem [unixODBC] [FreeTDS] [SQL Server]Ada, falha na conexão do servidor ptive 3: No odbcDriverConnect ("DSN = abc.xyz.com; UID = uname; PWD = passwd"): [RODBC] ERRO: estado 01000, código 20017, mensagem [unixODBC] [FreeTDS] [SQL Server]EOF inesperado do servidor 4: No odbcDriverConnect ("DSN = abc.xyz.com; UID = uname; PWD = passwd"): falha na conexão ODBC
freeTDS.conf
[abc.xyz.com]
host = abc.xyz.com
port = 49475
tds version = 8.0
odbcinst.ini
[FreeTDS]
Description = FreeTDS unixODBC Driver
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsodbc.so
odbc.ini
[abc.xyz.com]
Description = Shiny testing
Driver = FreeTDS
Trace = No
Server = abc.xyz.com\instance_name
Database = dbanme
port = 49475
Este erro "EOF inesperado do servidor" não é novo para mim. Eu recebi o mesmo erro quando estava tentando conectar usando o tsql. Consegui superar isso adicionando a linha "tds version = 8.0" ao freeTDS.conf. Não tenho certeza de como posso obter o RODBC para usar esta configuração. Eu li posts onde outros usuários conseguiram fazer o sql-server usando o freeTDS. Não tenho certeza do que está faltando aqui. Eu também tentei reinstalar o RODBC.