Sql server 在Mavericks上运行RODBC时出现问题

Sql server 在Mavericks上运行RODBC时出现问题,sql-server,r,macos,rodbc,Sql Server,R,Macos,Rodbc,我正在尝试使用R中的包RODBC访问Mac10.9.5上的MS SQL 我做了以下工作: ## install homebrew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" ## install freetds brew install freetds --with-unixodbc (使用了--with unixodbc选项,以便生成库/usr/local/lib/libtdsodbc.so),并按照以下位置

我正在尝试使用R中的包RODBC访问Mac10.9.5上的MS SQL

我做了以下工作:

## install homebrew
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
## install freetds
brew install freetds --with-unixodbc
(使用了
--with unixodbc
选项,以便生成库
/usr/local/lib/libtdsodbc.so
),并按照以下位置的其余说明操作:

我编辑了
odbc.ini
文件,使其看起来:

[sqlserver01]
Driver=/usr/local/lib/libtdsodbc.so
TDS_Version=4.2
Server=IP.Server
Port = 1433
Trace = Yes
Description=my description
Database="DB name"
# can't specify username and password for freetds
(其中IP.Server是对应的IP,“DB Name”是数据库的名称)。然后当我想跑的时候

 ch1 <- odbcConnect(dsn="sqlserver01", uid="username", pwd="password")
然后我找到了这个。我去了www.iodbc.org,下载了10.6版本的软件包。按此处所述解压,将头文件(sql.h和sqlext.h)放在
/usr/include
目录中。因为解压从这里下载的包并放入
/usr/lib
目录后,我找不到文件
libiodbc.a

在这个阶段,
sql.h
sqlext.h
/usr/include
libiodbc.a
/usr/lib
中。然后我跑:

install.packages("RODBC",type = "source")
一切似乎都很顺利。然后打字

 ch1 <- odbcConnect(dsn="sqlserver01", uid="username", pwd="password")
 Warning messages:
 1: In odbcDriverConnect("DSN=sqlserver01;UID=javier.zaurin;PWD=5R2fav3hgmG08zC_") :
   [RODBC] ERROR: state 01000, code 20013, message [FreeTDS][SQL Server]Unknown host machine name.
 2: In odbcDriverConnect("DSN=sqlserver01;UID=javier.zaurin;PWD=5R2fav3hgmG08zC_") :
   [RODBC] ERROR: state 08001, code 0, message [FreeTDS][SQL Server]Unable to connect to data source
 3: In odbcDriverConnect("DSN=sqlserver01;UID=javier.zaurin;PWD=5R2fav3hgmG08zC_") :
   ODBC connection failed
[RODBC]错误:无法加载状态IM003,代码1606396032,消息[iODBC][Driver Manager]指定的驱动程序


在这个阶段,我真的不知道下一步该怎么办。任何关于如何让RODBC在小牛队工作的帮助,他都将不胜感激。即使意味着从头开始

您是否确实使用ODBC管理器创建了DSN?但它不是针对MySQL的吗?即使我想连接到Microsoft SQL Server,我也需要这样做吗?我已将freetds.conf文件从
/usr/local/etc/
复制到.freetds.conf,并将内容更改为
[sqlserver01]
host=10.56.198.12#ntmachine.domain.com
<代码>端口=1433
tds版本=7.0
。现在我得到了另一个错误(至少是新的错误):
在ODBCDriverConnection中(“DSN=sqlserver01;UID=javier.zaurin;PWD=5R2fav3hgmG08zC”):[RODBC]错误:状态IM002,代码0,未找到消息[unixODBC][Driver Manager]数据源名称,并且据我所知没有指定默认驱动程序,iODBC和unixODBC之间应该没有区别,只要您从一开始就选择一个并设置围绕它的所有内容。不使用ODBC管理器就可以成功地设置和配置DSN,但我从未这样做过。ODBC管理器是一个实用工具,用于设置和配置所有DSN到所有可能符合ODBC的db。就我个人而言,我从未使用过FreeTDS。我一直使用来自实际技术(Oracle和MS SQL Server)的驱动程序,绝对没有问题。
 ch1 <- odbcConnect(dsn="sqlserver01", uid="username", pwd="password")
 Warning messages:
 1: In odbcDriverConnect("DSN=sqlserver01;UID=javier.zaurin;PWD=5R2fav3hgmG08zC_") :
   [RODBC] ERROR: state 01000, code 20013, message [FreeTDS][SQL Server]Unknown host machine name.
 2: In odbcDriverConnect("DSN=sqlserver01;UID=javier.zaurin;PWD=5R2fav3hgmG08zC_") :
   [RODBC] ERROR: state 08001, code 0, message [FreeTDS][SQL Server]Unable to connect to data source
 3: In odbcDriverConnect("DSN=sqlserver01;UID=javier.zaurin;PWD=5R2fav3hgmG08zC_") :
   ODBC connection failed
 In odbcDriverConnect("DSN=sqlserver01;UID="username";PWD="password") :