在小牛队上运行RODBC时遇到的问题

时间:2014-10-20 16:54:29

标签: sql-server r macos rodbc

我正在尝试使用R中的RODBC包在Mac 10.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。)并按照其余指示进行操作:http://www.r-bloggers.com/guide-to-accessing-ms-sql-server-and-mysql-server-on-mac-os-x/

我编辑了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")

(当然使用我的用户名和密码),我收到以下错误消息:

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

然后我找到了Installation of RODBC/ROracle packages on OS X Mavericks。我去了www.iodbc.org并下载了10.6的软件包。按照那里的描述解压缩它,将头文件(sql.h和sqlext.h)放在/usr/include目录中。由于在解压缩我从此处https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10.6.sdk/usr/lib/libiodbc.a下载的包后找不到文件libiodbc.a文件,并将其放入/usr/lib目录。

在此阶段,sql.hsqlext.h位于/usr/includelibiodbc.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

如果有任何帮助,如果我删除了libtdsodbc.so或在Driver=/usr/local/lib/libtdsodbc.so输入了不同的内容,我收到了错误消息:

 In odbcDriverConnect("DSN=sqlserver01;UID="username";PWD="password") :

[RODBC]错误:状态IM003,代码1606396032,消息[iODBC] [驱动程序管理器]无法加载指定的驱动程序

在这个阶段,我真的不知道接下来该做什么。任何有关如何让RODBC在小牛队工作的帮助他都会非常感激。即使暗示从头开始。

0 个答案:

没有答案