2014-10-06 64 views
1

我試圖從R到MonetDB(使用MonetDB.R)連接(dbConnect())時出現錯誤。有一個(related SO question),我也嘗試了那裏的sugestions((a)使用MonetDB.R測試版0.9.5或(a)使用常規MonetDB.R但用早期版本(0.2-7)替換DBI軟件包)沒有成功。R> Monetdb,dbConnect錯誤(包Monetdb.R)

這是代碼和錯誤:

library(MonetDB.R) 
options("monetdb.sequential" = TRUE) 
setwd("C:/Users/lucas_000/Desktop/Curso R/importa_RAIS") 
batfile <- 
    monetdb.server.setup(
    database.directory = paste(getwd() , "/MonetDB", sep="") , 
    monetdb.program.path = 
     ifelse(.Platform$OS.type == "windows" , "C:/Program Files/MonetDB/MonetDB5" , "") , 
    dbname = "RAIS" , dbport = 50003 
) 

batfile <- "C:/Users/lucas_000/Desktop/Curso R/importa_RAIS/MonetDB/RAIS.bat" 
dbname <- "RAIS" 
dbport <- 50003 
pid <- as.numeric(monetdb.server.start(batfile)) 
# output indicates: MonetDB 5 server v11.17.21 "Jan2014-SP3" 

db <- dbConnect(MonetDB.R() , "monetdb://localhost:5003/RAIS" , wait = TRUE) 

Assertion Failed! 
Program: C\:Program Files\RStudio\bin\x64\rsession.exe 
File: mapi.c, Line 91 
Expression: IS_INTEGER(port) 
#Then RStudio displays an error: "R Session Aborted" 

SISTEM細節: 的Windows 8.0,上RStudio,版本0.98.1062

> sessionInfo() 
R version 3.1.1 (2014-07-10) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 

other attached packages: 
[1] R.utils_1.33.0  R.oo_1.18.0  R.methodsS3_1.6.1 downloader_0.3  
[5] RCurl_1.95-4.3  bitops_1.0-6  sqlsurvey_0.6-11 survey_3.30-3  
[9] KernSmooth_2.23-12 MonetDB.R_0.9.4 digest_0.6.4  DBI_0.3.1   

loaded via a namespace (and not attached): 
[1] tools_3.1.1 

嘗試的解決方案和相應的錯誤:

一)試圖安裝MonetDB.R_0.9.5.zip(測試版)

library(devtools) 
remove.packages("MonetDB.R") 
install_url("http://homepages.cwi.nl/~hannes/R/MonetDB.R_0.9.5.zip") 

* installing *binary* package 'MonetDB.R' ... 
cp: unknown option --) 
Try `/usr/bin/cp --help' for more information. 
Aviso: execução do comando 'cp -R . "C:/Users/lucas_000/Documents/R/win-  library/3.1/MonetDB.R" || (tar cd - .| (cd "C:/Users/lucas_000/Documents/R/win-library/3.1/MonetDB.R" && tar -xf -))' teve status 1 
ERROR: installing binary package failed 
* removing 'C:/Users/lucas_000/Documents/R/win-library/3.1/MonetDB.R' 
Error: Command failed (1)  

B)保持MonetDB.R普通版(CRAN),但改變DBI到以前的版本(也sugested上SO):

remove.packages("DBI") 
library(devtools) 
install_url("cran.r-project.org/src/contrib/Archive/DBI/DBI_0.2-7.tar.gz") 
library(DBI) 
db <- dbConnect(MonetDB.R() , "monetdb://localhost:5003/RAIS" , wait = TRUE) 

#給人同樣的錯誤如上, 斷言失敗! 程序:C:Program Files文件\ RStudio \ BIN \ 64 \ rsession.exe 文件:mapi.c,線路91 表達:IS_INTEGER(端口) #Then RStudio顯示錯誤: 「R會話中止」

+0

測試版本是一個二進制包,你可以嘗試通過「從zip文件安裝包」路線安裝嗎? – 2014-10-06 06:41:04

+0

嗨,'MonetDBLite'(在CRAN上)現在取代了'MonetDB.R'並運行嵌入式(像'RSQLite')。有關更多詳細信息,請參閱https://github.com/hannesmuehleisen/MonetDBLite/blob/master/README.md – 2016-06-18 15:58:22

回答

1

MonetDB.R 0.9.5已經發布到CRAN。 Windows二進制發行版應該很快可用。

+0

好極了,現在可以使用。謝謝! – LucasMation 2014-10-07 19:58:18

1

錯誤可能在您創建dbConnect的行中。

你的代碼(不正確的端口):

db <- dbConnect(MonetDB.R() , "monetdb://localhost:5003/RAIS" , wait = TRUE) 

正確的代碼:

db <- dbConnect(MonetDB.R() , "monetdb://localhost:50003/RAIS" , wait = TRUE) 

與此代碼的另一個問題可能已選擇dbport是50 003;我相信默認是50 000.