Использование 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.