是否可以在没有 root 权限的情况下为 SQL 服务器安装 unixODBC 驱动程序
Posted
技术标签:
【中文标题】是否可以在没有 root 权限的情况下为 SQL 服务器安装 unixODBC 驱动程序【英文标题】:Is it possible to install unixODBC driver for SQL server without root permission 【发布时间】:2016-07-08 06:34:38 【问题描述】:我正在尝试在我们的计算机集群上运行 R 编程语言的 RODBC 包。 为此,我在我的主文件夹中下载并安装了unixODBC(遵循一些有用的说明here)
现在我意识到 SQL Server 所需的 ODBC 驱动程序不包括在内,但在尝试下载和安装此类驱动程序时,我遇到了它们都需要我没有的 root 权限的问题。
有没有办法在没有 root 权限的情况下安装 SQL 服务器 unixODBC 驱动程序?
我们的系统是:
CentOS Linux release 7.2.1511 (Core)
到目前为止,我已经查看了 Devart 和 Microsoft 提供的驱动程序。
【问题讨论】:
【参考方案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!我不知道我们有一个本地的供用户编辑!以上是关于是否可以在没有 root 权限的情况下为 SQL 服务器安装 unixODBC 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在没有域命名的情况下为 GCS 存储桶设置索引文件?