mysql - dbUploadTemplate [pkg-monitor] 上的 R 包 monitoR 错误

标签 mysql r

我正在使用 R 包 monitoR并收到一条我无法理解的错误消息。

我正在尝试使用 dbUploadTemplate 命令将关联模板列表(“bithTemps”)上传到 MySQL 数据库(“noh”)。

dbUploadTemplate(templates = bithTemps,
             uid = "root",
             pwd = "****",
             db.name = "noh",
             analyst = 1, 
             locationID = "2",
             date.recorded = "2017/09/07",
             recording.equip = "Unknown",
             species.code = "BITH",
             type = "COR")

返回:

Error: $ operator is invalid for atomic vectors

我已确认 ODBC 连接正常工作,模板列表正常工作(即,在调用包中的其他参数时它工作),并且 SQL 数据库具有分析师、位置和物种代码所需的条目.

最佳答案

看来这个错误实际上是由非功能性 ODBC 连接触发的。这部分dbUploadTemplate函数

  species <- RODBC::sqlQuery(dbCon, paste("SELECT `pkSpeciesID`, `fldSpeciesCode` FROM `tblSpecies` WHERE `fldSpeciesCode` = '", 
        paste(species.code, sep = "", collapse = "' OR `fldSpeciesCode` = '"), 
        "'", sep = ""))

查询 SQL 数据库中的表并返回名为“物种”的对象。如果查询失败(例如,因为 RODBC 无法连接)则 'species' 为空,然后进行以下操作

        speciesID <- NULL    
for (i in 1:length(species.code)) {
    speciesID[i] <- species$pkSpeciesID[species$fldSpeciesCode == 
        species.code[i]]
}

触发错误。修复 ODBC 连接可解决错误。

关于mysql - dbUploadTemplate [pkg-monitor] 上的 R 包 monitoR 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46246543/

相关文章:

python - 使用 python 在 mysql Db 中插入元组列表

python - R的c()在python中的等价函数是什么?

r - <我的</code> : object of type 'closure' is not subsettable 中的错误

r - 从 .zip 中提取某些文件

Stargazer Rmarkdown : LaTeX Error if align is set to TRUE

R Shiny : Creating a filter function relying on input in a separate file

MySQL BinLog语句检索

java - Hibernate join 没有外键并且只映射一个表

php - Laravel 4 播种多行, artisan 停止

mysql - 如何使用 ruby​​ on Rails 配置 cassandra 以及使用哪个 ORM?