我正在尝试在我们的计算机集群上运行R编程语言的RODBC包。 为此,我已经在我的主文件夹中下载并安装了unixODBC(遵循一些有用的说明here)
现在我意识到SQL服务器的必要ODBC驱动程序没有包含在内,但在尝试下载和安装这些驱动程序时遇到的问题是它们都需要我没有的root权限。
有没有办法在没有root权限的情况下安装SQL Server unixODBC驱动程序?
我们的系统是:
CentOS Linux release 7.2.1511 (Core)
答案 0 :(得分:1)
我希望您特别需要root访问权限的唯一原因是编辑odbc.ini文件。您可以构建自己的unixODBC副本,并将前缀和/或sysconf设置为可访问的位置。或者设置ODBCSYSINI env变量以告诉驱动程序管理器使用$ ODBCSYSINI / odbc.ini和$ ODBCSYSINI / odbcinst.ini
Easysoft驱动程序肯定可以非root用户安装,只需设置$ EASYSOFT_ROOT指向/ usr / local / easysoft的替代
答案 1 :(得分:0)
我知道这已经过时了,但我花了很多时间来解决类似问题的解决方案。如果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。)
希望这有助于某人。