1

尝试从 R 中连接 (dbConnect()) 到 MonetDB(使用 MonetDB.R)时出现错误。有一个(相关的 SO 问题),我也尝试了那里的建议((a)使用 MonetDB.R 测试版 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 )

# 给出与上面相同的错误,断言失败!Program: C:Program Files\RStudio\bin\x64\rsession.exe File: mapi.c, Line 91 Expression: IS_INTEGER(port) #然后RStudio显示错误:“R Session Aborted”

4

2 回答 2

1

MonetDB.R0.9.5 已发布到 CRAN。Windows 二进制发行版应该很快就会推出。

于 2014-10-06T12:10:22.010 回答
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。

于 2015-09-11T22:45:51.450 回答