R> Monetdb,dbConnect错误(包Monetdb.R)

时间:2014-10-06 00:59:52

标签: r monetdb

尝试从R内部连接(dbConnect())到MonetDB(使用MonetDB.R)时出错。有一个(related SO question),我也试过那里的sugestions((a)使用MonetDB.R beta版本0.9.5或(a)使用常规MonetDB.R但用早期版本替换DBI包(0.2) -7))没有成功。

这是代码和错误:

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"

系统细节: 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

尝试过的解决方案和各自的错误:

a)尝试安装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更改为早期版本(也在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 \ x64 \ rsession.exe     文件:mapi.c,第91行     表达式:IS_INTEGER(端口)     #Tt RStudio显示错误:“R Session Aborted”

2 个答案:

答案 0 :(得分:1)

MonetDB.R 0.9.5已发布给CRAN。 Windows二进制发行版很快就会推出。

答案 1 :(得分: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。