【问题标题】:Is it possible to install unixODBC driver for SQL server without root permission是否可以在没有 root 权限的情况下为 SQL 服务器安装 unixODBC 驱动程序
【发布时间】:2023-03-13 09:50:01
【问题描述】:

我正在尝试在我们的计算机集群上运行 R 编程语言的 RODBC 包。 为此,我在我的主文件夹中下载并安装了unixODBC(遵循一些有用的说明here

现在我意识到 SQL Server 所需的 ODBC 驱动程序不包括在内,但在尝试下载和安装此类驱动程序时,我遇到了它们都需要我没有的 root 权限的问题。

有没有办法在没有 root 权限的情况下安装 SQL 服务器 unixODBC 驱动程序?

我们的系统是:

CentOS Linux release 7.2.1511 (Core)

到目前为止,我已经查看了 DevartMicrosoft 提供的驱动程序。

【问题讨论】:

    标签: sql-server r rodbc unixodbc


    【解决方案1】:

    我希望您特别需要 root 访问权限的唯一原因是编辑 odbc.ini 文件。您可以构建自己的 unixODBC 副本,并将前缀和/或 sysconf 设置为可访问的位置。或者设置 ODBCSYSINI 环境变量来告诉驱动程序管理器使用 $ODBCSYSINI/odbc.ini 和 $ODBCSYSINI/odbcinst.ini

    Easysoft 驱动当然可以非 root 安装,只需设置 $EASYSOFT_ROOT 指向 /usr/local/easysoft 的替代项

    【讨论】:

      【解决方案2】:

      我知道这是旧的,但我只是花了很多时间找出类似问题的解决方案。如果 SQL Server ODBC 驱动程序不可用,您可以使用 FreeTDS。这在我们的 Linux 中可用(而其他 SQL Server ODBC 驱动程序不可用)。它成功了。要了解您可以使用哪些 ODBC 驱动程序(以及它们在哪里),请运行 linux 命令:

      odbcinst -j
      

      要使用 FreeTDS,您应该使用您的设置修改本地 .odbc.ini 文件。以下是我的 .odbc.ini 中的示例:

      [DB_NAME]
      Driver=FreeTDS
      Description=Microsoft SQL Server 2016
      Server=address.of.your.server
      Database=DB_NAME
      Port=1433
      TDS_Version=7.4
      UseDeclareFetch
      

      完成此操作后,我就可以连接到 SQL Server。 (我使用的是 Python,但我敢打赌类似的方法适用于 R。)

      希望这对某人有所帮助。

      【讨论】:

      • 谢谢@datacathy!我不知道我们有一个本地的供用户编辑!
      猜你喜欢
      • 1970-01-01
      • 2013-08-22
      • 2020-10-06
      • 2014-11-25
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2015-11-12
      相关资源
      最近更新 更多