我已经设置了我的ODBC驱动程序,以便MS Excel可以将数据导入到电子表格中.
但是,当我尝试与R建立连接时,使用
ch <- odbcConnect(leprosyDHISdb, uid = leprosyDHISid, pwd = leprosyDHISpw)
Run Code Online (Sandbox Code Playgroud)
然后我得到了错误
Warning messages:
1: In odbcDriverConnect("DSN=dhis2;UID=dhis2_viewer;PWD=*********") :
[RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
2: In odbcDriverConnect("DSN=dhis2;UID=dhis2_viewer;PWD=*********") :
ODBC connection failed
Run Code Online (Sandbox Code Playgroud)
是什么让odbc失败的R,但不是Excel?
检查您是否使用32/64位版本的R,还要检查您的ODBC连接是否为32/64位.
要使用Windows设置32位DSN,请导航到以下文件夹C:\ Windows\SysWOW64
要使用Windows设置64位DSN,请导航到以下文件夹C:\ Windows\System32
编辑:以下博客是一个很有用的指南
http://sandymuspratt.blogspot.co.uk/2013/01/getting-access-data-into-r.html
不确定这是否是最正确的方法,但这对我有用。
复制连接字符串并将其粘贴到odbcDriverConnect函数内的 R 中:
myConn <-odbcDriverConnect("DRIVER=SQL Server;SERVER=fooServer;UID=foo_viewer;PWD=1pityDfoo!;APP=Microsoft Office 2010;WSID=foocomputername;DATABASE=DTS")
您还可以复制命令文本并将其粘贴到sqlQuery函数内的 R 中:
mydata <- sqlQuery(myConn, "选择 DTS.dts_id, DTS.dts_no, DTS.unit_code, DTS.originator, DTS.doc_type_id, DTS.doc_date, DTS.subject, DTS.remarks, DTS.status, DTS.is_confidential, DTS .created_by、DTS.date_created、DTS.updated_by、DTS.date_updated、DTS.timestamp 来自 DTS.dbo.DTS DTS")
| 归档时间: |
|
| 查看次数: |
6893 次 |
| 最近记录: |