2016-08-19 1 views
1

R에서 .COM 개체를 사용하여 OLAP 큐브에 ADODB.Connection을 설정하고 싶습니다. 그리고 나는 rscproxy, rcom 및 statconnDCOM 패키지를 사용하고 있습니다.R & COM 개체 : Windows에서 OLAP 큐브에 연결하는 방법

그러나, 나는 RCOM 패키지에 대한 유용한 문서를 찾는 정말 성공하지 않다, 따라서, 나는 R.에서 .COM 객체를 사용하여 큰 시간을 고투하고 나는 .COM 개체를 만들 수 있어요

,하지만 나는 다음 단계에 대해 전혀 모른다. 내가하고 싶은 것 :

  1. 는 R을 열고 연결 문자열을 설정 < -> 큐브 연결

이 저를 도와주세요 MDX 쿼리를 실행 this :-)

.

코드 :

# I am quite confident that this section is right: 
library(rcom) 
conn <- comCreateObject("ADODB.Connection") 

# From now on it becomes speculative: 
comGetObjectInfo(conn) 
connStr = 'Provider=MSOLAP;Data Source=...;Initial Catalog=...;' 

# First try to set the connection string: 
comSetProperty(conn,"ConnectionString",connStr) 

# Second try to set the connection string: 
conn[["ConnectionString"]] = connStr 

# I try to establish the connection: 
conn$Open 

.

기타 정보 :이 R-3.3.1에 언급 - 위의 패키지를 설치하기 위해 나에게 꽤 걸렸다 때문에

, 나는 내가 할 관리 방법에 대한 간략한 개요를주고 싶다 :

.libPaths() 

options(install.packages.check.source = "no") 
install.packages(c("rscproxy","rcom"),repos="http://www.autstat.com/download",lib=.Library,type="win.binary") 
installstatconnDCOM() 
library(rcom) 
comRegisterRegistry() 

sessionInfo() 

답변

0

여러 가지 시행 착오를 거친 후에 내 질문에 답하는대로 솔루션을 공유하고 싶습니다. 결국 rcom 패키지에서 RDCOMClient 패키지로 전환했습니다. 첫번째.

install.packages("local path to: RDCOMClient_0.93-0.2.zip", repos = NULL, type="source") 
library(RDCOMClient) 
sessionInfo() 

conn = COMCreate("ADODB.Connection") 
conn[["State"]] 

connStr = 'a connection string' 
conn[["ConnectionString"]] = connStr 

conn[["CommandTimeout"]] = 180 
conn[["ConnectionTimeout"]] = 30 

conn[["State"]] 

conn$Open() 

conn[["State"]] 

query = 'a query' 
results = conn$Execute(query) 
: https://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.3/

솔루션 코드 (내가 R-3.3.1을 사용하고 있습니다) 다음 RDCOMClient_ 패키지

다운로드 링크 :

패키지를 다운로드