Использование UnixODBC и FreeTDS для подключения к серверу Pervasive SQL в Ubuntu?

Я пытаюсь подключиться к серверу Pervasive Sql, работающему в Windows 10, с сервера Ubuntu 14.04.4.

Я использую следующие сервисы для подключения к серверу:

FreeTDS
unixODBC

Перед запуском я попытался успешно пропинговать хост-компьютер с консоли vm.

Затем я запускаю следующую команду, чтобы проверить правильность установки FreeTDS;

tsql -C

Который вернулся:

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

[freetds.conf], расположенный в [/usr/local/etc], содержит:

[PSQLServer]
host        = **IP**
port        = **PORT**
tds version = 8.0

[odbc.ini], расположенный в [/usr/local/etc], содержит:

[PSQLClient]
Description = Pervasive SQL Client Settings
Driver      = FreeTDS
ServerName  = PSQLServer
Database    = **DBNAME**
Trace       = No
UID         = **USERNAME**
PWD         = **PASSWORD**
TDS_Version = 8.0

[odbcinst.ini], расположенный в [/usr/local/etc], содержит:

[FreeTDS]
Description = FreeTDS unixODBC Driver
Driver      = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup       = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
TDS_Version = 8.0

Я устал от использования команды tsql, добавляющей [TDSVER=*] для каждой из возможных версий драйверов, что приводит к тому же сообщению об ошибке для каждого TDSVER.

* [5.0], * [6.0], * [7.0], * [7.1], * [7.2], * [7.3], * [7.4], * [8.0]

При тестировании соединения используется следующая команда:

TDSVER=8.0 tsql -S PSQLClient -U **USERNAME** -P **PASSWORD**

Который возвращает следующие ошибки:

Error 20012 (severity 2):
        Server name not found in configuration files.
locale is "en_ZA.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20013 (severity 2):
        Unknown host machine name.
There was a problem connecting to the server

Попробовав вышеизложенное, я попытался выполнить команду isql:

isql -v PSQLClient **USERNAME** **PASSWORD**

Который возвращает следующие сообщения об ошибках:

[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect

Можно ли даже подключиться к [Pervasive SQL] через [node-odbc], и если да, то что я делаю не так?

Будем очень благодарны любой помощи!

1 ответ

Решение

Самые последние версии Pervasive / Actian PSQL поддерживают клиенты Linux и имеют драйвер ODBC для Linux. Поскольку вы используете Windows 10, вам, вероятно, следует использовать PSQL v12. Если вы используете версию 12, вы можете загрузить клиент Linux по адресу http://www.pervasive.com/database/Home/Products/PSQLv12.aspx. Доступны RPM и TAR.

Другие вопросы по тегам