7

我无法使用 DBI 包连接到 MSSQL。我正在尝试包装本身中显示的方式

    m <- dbDriver("RODBC") # error

错误:找不到函数“RODBC”

    # open the connection using user, passsword, etc., as
    # specified in the file \file{\$HOME/.my.cnf}
    con <- dbConnect(m, dsn="data.source", uid="user", pwd="password"))    

任何帮助表示赞赏。谢谢

4

3 回答 3

15

作为对这个问题的更新:RStudio 已经创建了odbc 包(或此处的 GitHub 版本),它通过 DBI 处理与多个数据库的 ODBC 连接。对于 SQL Server,您使用:

con <- DBI::dbConnect(odbc::odbc(),
                      driver = "SQL Server",
                      server = <serverURL>,
                      database = <databasename>,
                      uid = <username>,
                      pwd = <passwd>)

您还可以设置 dsn 或提供连接字符串。

于 2017-03-14T09:48:03.590 回答
1

看起来曾经有一个用于 DBI 的 RODBC 驱动程序,但现在没有了:

http://cran.r-project.org/src/contrib/Archive/DBI.RODBC/

稍微调整一下就可以将它安装在版本 3 R 中,但我没有任何 ODBC 源来测试它。但m = dbDriver("RODBC")不会出错。

> m = dbDriver("RODBC")
> m
<ODBCDriver:(29781)> 
> 

建议您在 R-sig-db 邮件列表上询问,以了解此代码和/或作者发生了什么...

于 2014-07-21T14:29:17.143 回答
-1

解决了。我使用了库 RODBC。它具有连接 sql 和在 R 中运行 sql 查询的强大功能。

加载库:

library(RODBC)

# dbDriver 是包含用户 ID、数据库名称、密码等的连接字符串。

dbhandle <- odbcDriverConnect(dbDriver)

运行 Sql 查询

sqlQuery(channel=dbhandle, query)

而已。

于 2015-08-20T09:53:56.430 回答