2017-08-02 2 views
0

Avant d'essayer de compiler freeTDS avec msdblib activé, je voudrais m'assurer que c'est ce que je dois faire. Ou est mon problème ailleurs? J'ai vu beaucoup de messages sur la configuration mais aucune mention de msdblib.Est-ce que "ms db-lib source compatibility" doit être défini sur "yes" pour se connecter à mssql avec freetds?

$tsql -S mssql -U user -P pass 
locale is "en_US.UTF-8" 
locale charset is "UTF-8" 
using default charset "UTF-8" 
Error 20009 (severity 9): 
    Unable to connect: Adaptive Server is unavailable or does not exist 
    OS error 61, "Connection refused" 
There was a problem connecting to the server 

$odbcinst -j 
unixODBC 2.3.4 
DRIVERS............: /usr/local/Cellar/unixodbc/2.3.4/etc/odbcinst.ini 
SYSTEM DATA SOURCES: /usr/local/Cellar/unixodbc/2.3.4/etc/odbc.ini 
FILE DATA SOURCES..: /usr/local/Cellar/unixodbc/2.3.4/etc/ODBCDataSources 
USER DATA SOURCES..: /Users/administrator/.odbc.ini 
SQLULEN Size.......: 8 
SQLLEN Size........: 8 
SQLSETPOSIROW Size.: 8 

$tsql -C 
    Compile-time settings (established with the "configure" script) 
          Version: freetds v1.00.48 
      freetds.conf directory: /usr/local/Cellar/freetds/1.00.48/etc 
    MS db-lib source compatibility: no 
     Sybase binary compatibility: no 
         Thread safety: yes 
         iconv library: yes 
         TDS version: 7.3 
           iODBC: no 
          unixodbc: yes 
       SSPI "trusted" logins: no 
          Kerberos: no 
          OpenSSL: yes 
          GnuTLS: no 
           MARS: no 

freetds.conf

[global] 
     # TDS protocol version 
     tds version = 7.3 

...

# A typical Microsoft server 
[mssql] 
     host = 10.x.x.x 
     port = 1433 
     tds version = 7.3 

odbc.ini

[mssql] 
Description   = Test to SQLServer 
Driver    = FreeTDS 
Servername   = mssql 

odbcinst.ini

[FreeTDS] 
Description=FreeTDS Driver for Linux & MSSQL 
Driver=/usr/local/lib/libtdsodbc.so 
Setup=/usr/local/lib/libtdsodbc.so 
UsageCount=1 
+0

Resinstalling freetds avec brew installer freetds --with-msdblib n'a pas aidé :( – Openmic

Répondre

0

Je ne sais pas si l'option --with-msdblib de freetds est nécessaire pour l'accès MS SQL mais je suis capable de se connecter en utilisant le nom d'hôte et l'instance. Mais d'abord j'ai dû trouver les noms d'instance, ce qui peut être fait par tsql -LH xxx.xx.xxx.xxx. Pour une raison quelconque, je ne pouvais pas me connecter avec le nom d'hôte et le port, je devais utiliser le nom d'hôte et l'instance. Toujours lire la documentation, y'all! Seulement m'a pris 5 heures.