0

我在想出一组工具/配置时遇到了一些真正的困难,这些工具/配置可以在 cygwin 下从 R 连接到 Microsoft SQL Server。

我正在使用 RODBC 库

当我在 Windows 下使用 R 时,我可以使用如下语句成功连接:

db.connex.string <- 'driver={SQL Server};server=machine_name;database=db_name;trusted_connection=true'
db.connex <- odbcDriverConnect(db.connex.string)

当我在 cygwin 下的 R 中尝试相同的命令时,我会收到一连串的警告和错误:

> warnings()
Warning messages:
1: In odbcDriverConnect(db.connex.string) :
[RODBC] ERROR: state 00000, code 1807981029, message [iODBC][Driver Manager]No such file or directory
2: In odbcDriverConnect(db.connex.string) :
[RODBC] ERROR: state IM003, code 1807981029, message [iODBC][Driver Manager]Specified driver could not be loaded
3: In odbcDriverConnect(db.connex.string) :
[RODBC] ERROR: state IM003, code 1807981029, message [iODBC][Driver Manager]Specified driver could not be loaded
4: In odbcDriverConnect(db.connex.string) :
[RODBC] ERROR: state IM003, code 1807981029, message [iODBC][Driver Manager]Specified driver could not be loaded

任何帮助表示赞赏。

4

1 回答 1

0

在 Cygwin 下,您的 R 抱怨它根本找不到驱动程序。确保检查以下内容:

  1. 您是否安装了 unixodbc 来管理驱动程序?
  2. 您确定您已安装 ODBC 驱动程序(如 freeTDS)吗?
  3. 你确定你已经设置了 odbc.ini 文件和你的数据库服务器的连接细节吗?

我没有找到很多关于在 Cygwin 上安装 odbcUnix 的参考资料,但这似乎是可能的。如果您要连接的是 MicroSoft SQL Server,他们已经发布了适用于 Linux 的 MSSQL 特定驱动程序,该驱动程序在 Linux上运行良好,我会推荐在 FreeTDS 之上。但我不知道是否可以在 Cygwin 上安装。

于 2013-08-25T11:38:42.827 回答