Как настроить freetds и unixodbc в Linux Ubuntu

Я пытаюсь создать соединение с freetds + unixodbc в Linux к базе данных в Windows, я настроил /etc/freetds/freetds.conf, /etc/odbc.ini и /etc/odbcinst.ini:

freetds.conf:

 A typical Microsoft server
 [wsus]
  host = my-ip-sql-server
  port = 1433
  tds version = 4.2

odbc.ini

[wsus]
  Driver = FreeTDS
  Trace = No
  ServerName = wsus
  Database= Asegurador

as

odbcinst.ini

[wsus]
  Description = tdsodbc
  Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
  Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
  FileUsage = 1
  CPTimeout = 5

Вывод команды = tsql -C:

Compile-time settings (established with the "configure" script)
                            Version: freetds v0.91
             freetds.conf directory: /etc/freetds
     MS db-lib source compatibility: no
        Sybase binary compatibility: yes
                      Thread safety: yes
                      iconv library: yes
                        TDS version: 4.2
                              iODBC: no
                           unixodbc: yes
              SSPI "trusted" logins: no
                           Kerberos: yes

Когда я запускаю tsql, соединение успешно:

$ tsql -S  wsus -U username -P password
locale is "es_ES.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> select top 1 FechaFactura, Vendedor, ClaseDoc  from [Aseguradoras].[dbo].[mknDetalleAseguradoras]
2> go
FechaFactura    Vendedor    ClaseDoc
2014-07-12         xx           2

Но когда я запускаю isql:

$ isql -v wsus имя пользователя Пароль [IM002] [unixODBC] [Диспетчер драйверов] Имя источника данных не найдено, и драйвер по умолчанию не указан [ISQL] ОШИБКА: не удалось SQLConnect

Заранее спасибо.


person Miguel Marroquin    schedule 08.05.2015    source источник
comment
Просто примечание, но вряд ли TDS версии 4.2 будет тем, что вам нужно, поскольку она соответствует SQL Server 6.0. См. Эту полезную документацию: freetds.org/userguide/choosingtdsprotocol.htm   -  person IMSoP    schedule 25.05.2015


Ответы (1)


В odbcinst.ini необходимо указать имя драйвера, а не DSN. Изменять:

[wsus]

to:

[FreeTDS]

Вам также следует изменить версию TDS, скорее всего, до 7.3 (SQL Server 2008–2014), как упоминалось выше.

Это должно сработать! Удачи.

person FlipperPA    schedule 25.05.2015