簡體   English   中英

如何在Ruby應用程序中連接到Pervasive SQL Server?

[英]How to connect to Pervasive SQL server in Ruby Application?

我正在嘗試從Ubuntu計算機上的Ruby應用程序連接到Windows計算機上運行的Pervasive Sql Server。 有人可以幫我嗎? 提前致謝

以下是我在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不可用或不存在OS錯誤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:

無法理解上述結果以及如何處理。 請幫忙

據我所知,從Ruby訪問Pervasive PSQL的唯一方法是通過ODBC。 您需要使用Pervasive Client ODBC驅動程序。 不要使用FreeTDS驅動程序。 我從未聽說過使用FreeTDS驅動程序連接到Pervasive PSQL。 實際上,這個問題提到FreeTDS不適用於Pervasive PSQL。 普及型PSQL和Microsoft SQL Server不是同一產品,其中一個的客戶端無法連接到另一個的服務器。

簡短的答案是在Ubuntu計算機上安裝Pervasive PSQL客戶端,在Windows計算機上創建指向數據庫的ODBC數據源名稱,然后在Ruby中使用ODBC來訪問數據。
您需要至少使用Pervasive PSQL v11.30,最好是Actian PSQL v13(截至2018年12月的當前版本)。 您需要下載並安裝適合該應用程序的客戶端。 如果Ruby應用程序是32位的,則需要32位的ODBC驅動程序。 如果應用程序是64位,則需要64位驅動程序。 操作系統的“位”並不那么重要。 您需要使用與服務器版本相同的PSQL客戶端版本。 您不能將v13客戶端與v11服務器一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM