【问题标题】:How to connect to Pervasive SQL server in Ruby Application?如何在 Ruby 应用程序中连接到 Pervasive SQL 服务器?
【发布时间】:2018-12-24 06:21:39
【问题描述】:

我正在尝试从我在 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 不可用或不存在 操作系统错误 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-sql


    【解决方案1】:

    据我所知,从 Ruby 访问 Pervasive PSQL 的唯一方法是通过 ODBC。您需要使用 Pervasive Client ODBC 驱动程序。不要使用 FreeTDS 驱动程序。我从未听说过使用 FreeTDS 驱动程序连接到 Pervasive PSQL。事实上,question 提到 FreeTDS 不适用于 Pervasive PSQL。 Pervasive 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 服务器一起使用。

    【讨论】:

    • 我尝试使用 ODBC 连接,但每次都失败。我在网络上运行的 Windows 机器上安装了 PSQL v11.30。然后在同一台机器上使用 ODBC 数据源将其连接到 Razor SQL。现在我正在尝试使用 freetds 和 ODBC for Ruby 应用程序从不同网络上的 linux 机器访问 PSQL 数据库。但还没有成功。请指导我。
    • 如果您不提供更多信息,将无法指导您。 Linux 上的 Pervasive ODBC 驱动器是否连接到 Windows 上的 Pervasive Server?如果没有,请在尝试使用 Ruby 之前让它工作。如果它不起作用,请发布错误。
    猜你喜欢
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    相关资源
    最近更新 更多