Configure o FreeTDS para conectar-se ao MS SQL

-1

Eu tentei várias opções de configuração diferentes com base nesta página ( link )

E um post muito parecido aqui em Conectando o MS SQL usando freetds e unixodbc: isql - nenhum driver padrão especificado no entanto, quando tento testar a conexão com o isql, continuo obtendo" [IM002] [unixODBC] [Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado [ISQL] ERRO: Não foi possível SQLConnect ".

Estou executando o servidor Ubuntu 12.04 LTS e instalei o freeTDS via apt-get .

resultados de odbcinst -q -d :

@cabana:/etc# odbcinst -q -d
[TDSDRIVER]

resultados de odbcinst -q- s

@cabana:/etc# odbcinst -q -s
[MSSQL]
[SQL01]

tds.driver.template:

@cabana:/etc# cat tds.driver.template
[TDSDRIVER]
Description = FreeTDS driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
FileUsage = 1
UsageCount =1

tds.datasource.template:

@cabana:/etc# cat tds.datasource.template
[SQL01]
Driver = TDSDRIVER # name that we specified in the driver file
Description = MSSQL ODBC Driver
Trace = No
TraceFile = /var/log/freetds.log
Server = 10.0.0.200 # this name specified in the freetds.conf
Port = 1433
Database = MyDatabase
TDS_Version = 8.0

freetds.conf:

@cabana:/etc# cat freetds.conf
[global]
tds version = 8.0
[MICROSOFT]
host = 10.0.0.200
port = 1433
tds version = 8.0

odbc.ini:

@cabana:/etc# cat odbc.ini
[MSSQL]
Driver = FreeTDS # name that we specified in the driver file
Description = MSSQL ODBC Driver
Trace = No
TraceFile = /var/log/freetds.log
Servername = 10.0.0.200 # this name specified in the freetds.conf
Port = 1433
Database = MyDatabase
TDS_Version = 7.0

[SQL01]
Driver = TDSDRIVER # name that we specified in the driver file
Description = MSSQL ODBC Driver
Trace = No
TraceFile = /var/log/freetds.log
Server = 10.0.0.200 # this name specified in the freetds.conf
Port = 1433
Database = MyDatabase
TDS_Version = 8.0

odbcinst.ini:

@cabana:/etc# cat odbcinst.ini
[TDSDRIVER]
Description = FreeTDS driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
FileUsage = 1
UsageCount = 2

O tsql não está instalado, portanto, testando com o isql, recebo isto:

@cabana:/etc# isql -v SQL01 user pass
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect

O que estou fazendo de errado?

    
por Malchesador 13.05.2014 / 21:58

1 resposta

0

Acabei de sair com um problema semelhante: Os problemas com o MS SQL podem ser portas ou instâncias. Eu sugiro que você execute:

tsql -LH [SERVER_IP_ADR]

Obtenha o número da porta e atualize freetds.conf

Se o seu servidor está usando instâncias (ou seja, o nome da instância é diferente do MSSQLSERVER), você também pode tentar atualizar /etc/odbc.ini com:

Server  = [SERVER_IP_ADR]\[INSTANCE_NAME]

Funcionou para mim.

Substitua os colchetes pelo respectivo valor.

    
por Stefano 04.05.2015 / 12:45