如何在cygwin下从R连接到SQL Server?

时间:2013-08-23 21:37:30

标签: sql-server r cygwin

我在使用一组工具/配置时遇到了一些困难,这些工具/配置可以在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

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在Cygwin下你的R抱怨它根本找不到司机。请务必检查以下内容:

  1. 您是否安装了unixodbc来管理驱动程序?
  2. 您确定已安装ODBC驱动程序(如freeTDS)吗?
  3. 您确定已将odbc.ini文件设置为数据库服务器的连接详细信息吗?
  4. 我找不到很多references to installing odbcUnix on Cygwin,但似乎有可能。如果你想要连接到MicroSoft SQL Server,他们有released a MSSQL specific driver for linux在Linux上工作得非常好,我建议使用FreeTDS。但我不知道是否可以在Cygwin上安装。