Как подключиться к серверу Pervasive SQL в приложении Ruby?
Я пытаюсь подключиться к серверу Pervasive Sql, который работает на компьютере с Windows, из моего приложения на Ruby, которое находится на компьютере с Ubuntu. Может кто-нибудь, пожалуйста, помогите мне на том же. заранее спасибо
Ниже моя конфигурация на машине Linux
/etc/freetds/freetds.conf
[pserver]
host = XXX.XXX.XX.XXX
port = 1583
tds version = 8.0
В /etc/odbcinst.ini я сохранил информацию о драйвере, как показано ниже
[freetds]
Description=freetds Driver
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
Trace=Yes
TraceFile=/tmp/freetds.log
ForceTrave=Yes
UsageCount=10
fileusage=1
dontdlclose=1
TDS_Version = 8.0
В /etc/odbc.ini, детали клиента и базы данных
[pclient]
Description = Pervasive SQL Server
Driver = freetds
Trace = Yes
Servername = pserver
Port = 1583
Database = "MyDatabasename"
TDS_Version = 8.0
tsql -S pserver -U db_username -P db_password -d MyDatabasename
Приведенный выше cmd выдает ошибку "Ошибка 20009 (уровень серьезности 9): невозможно подключиться: Adaptive Server недоступен или не существует. Ошибка ОС 111", "Отказано в соединении". При подключении к серверу возникла проблема.
iodbctest ["DSN=pclient;UID=db_username;PWD=db_password"]
this results in
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0812.0326
(iodbctest:6672): Gtk-WARNING **: 20:40:38.693: cannot open display:
Не в состоянии понять вышеуказанный результат и как с этим справиться. Пожалуйста помоги
1 ответ
Насколько я знаю, единственный способ получить доступ к Pervasive PSQL из Ruby - через ODBC. Вам необходимо использовать драйвер ODBC Pervasive Client. Не используйте драйвер FreeTDS. Я никогда не слышал об использовании драйвера FreeTDS для подключения к Pervasive PSQL. На самом деле, в этом вопросе упоминается, что FreeTDS не работает с Pervasive PSQL. Pervasive PSQL и Microsoft SQL Server не являются одним и тем же продуктом, и клиент для одного не может подключиться к серверу другого.
Краткий ответ: установить Pervasive PSQL-клиент на компьютере с Ubuntu, создать имя источника данных ODBC, указывающее на базу данных на компьютере Windows, а затем использовать ODBC из Ruby для доступа к данным.
Вы хотите использовать как минимум Pervasive PSQL v11.30, предпочтительно Actian PSQL v13 (текущая версия по состоянию на декабрь 2018 года). Вам нужно будет загрузить и установить клиент, соответствующий приложению. Если приложение Ruby 32-битное, вам нужен 32-битный драйвер ODBC. Если приложение 64-битное, вам понадобится 64-битный драйвер. "Битность" ОС не так важна. Вам необходимо использовать ту же версию клиента PSQL, что и версию сервера. Вы не можете использовать клиент v13 с сервером v11.