sql - 尝试在 ubuntu 中使用 RODBC 连接到 ODBC 服务器

标签 sql sql-server r odbc

我收到错误:

 [RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found
 2: In odbcDriverConnect("driver={SQL Server};server=*******;database=****;trusted_connection=true") :
 ODBC connection failed

任何人都可以提供有关安装 ODBC 驱动程序以使其与 RODBC 一起使用的详细说明吗?

注意:我正在尝试连接到 MSSQL Server

最佳答案

在我的工作中,我们使用 Centos 5.8。当我需要连接到 MS-SQL 服务器时,我使用 FreeTDS 驱动程序。我在这里详细讨论一下:https://stackoverflow.com/a/10196098/1332389 ,包括我安装的包和依赖项。

示例连接字符串可能如下所示:

data_odbc <- odbcDriverConnect(connection="Driver=FreeTDS;
                                           Server=dataserver1\\instancename(default: master);
                                           Port=1433;        
                                           Database=database_01;
                                           Uid=data_mgmt;
                                           Pwd=placeholder")

我们将 odbcinst.ini 文件(在/etc/中)配置为:

# FreeTDS Drivers
# Manual setup, used for MS SQL
[FreeTDS]
Description     = FreeTDS for MSSQL
# 32 bit
Driver          = /usr/lib/libtdsodbc.so
Setup           = /usr/lib/libtdsS.so
# 64 bit
Driver64        = /usr/lib64/libtdsodbc.so
Setup64         = /usr/lib64/libtdsS.so
FileUsage = 1

自从设置以来我没有遇到任何问题。希望这会有所帮助 - 如果您有更多问题,我可以尝试回答。

关于sql - 尝试在 ubuntu 中使用 RODBC 连接到 ODBC 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11084173/

相关文章:

在 Bash 命令行中对文件运行 R 函数

r - 对于 R 中的其他剩余列值,如何检查一种类型的列值类别的常见出现?

mysql - 在单个查询中选择内部联接和更新

mysql - SQL查询多个总和和总和的平均值

sql - 如何在两个表之间进行全连接

SQL Management Studio 中的 SQL 编码

android - gradle 中的解析错误 - ExecException

r - 使用 openxlsx 包将多个样式()应用于同一行

mysql - 限制一张表的SQL连接

sql - 如何使用OUTPUT捕获新旧ID?