Как подключиться к серверу 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.

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