Как подключиться к серверу Pervasive SQL в приложении Ruby? - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь подключиться к серверу Pervasive Sql, работающему на Windows, из моего приложения на Ruby, которое находится на Ubuntu Machine.Может кто-нибудь, пожалуйста, помогите мне на том же.Заранее спасибо

Ниже моя конфигурация на машине 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 Ответ

0 голосов
/ 17 декабря 2018

Насколько я знаю, единственный способ получить доступ к 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.

...