问题
I had this function I used to load a SQLite table
sqLiteConnect <- function(database, table) {
library(DBI)
library(RSQLite)
con <- dbConnect("SQLite", dbname = database)
query <- dbSendQuery(con, paste("SELECT * FROM ", table, ";", sep=""))
result <- fetch(query, n = -1, encoding="utf-8")
dbClearResult(query)
dbDisconnect(con)
return(result)
}
But now it seams it generates an error
album <- sqLiteConnect("~/Downloads/ChinookDatabase1.3_Sqlite/Chinook_Sqlite.sqlite","Album")
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘dbConnect’ for signature ‘"character"’
Called from: stop(gettextf("unable to find an inherited method for function %s for signature %s",
sQuote(fdef@generic), sQuote(cnames)), domain = NA)
(I downloaded the db from here)
Is it a bug or a problem with my function?
sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
locale:
[1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8
attached base packages:
[1] graphics grDevices utils datasets stats methods base
other attached packages:
[1] ggplot2_1.0.0 igraph_0.7.1 RSQLite_1.0.0 DBI_0.3.1
loaded via a namespace (and not attached):
[1] colorspace_1.2-4 digest_0.6.4 grid_3.1.2 gtable_0.1.2
[5] MASS_7.3-35 munsell_0.4.2 plyr_1.8.1 proto_0.3-10
[9] Rcpp_0.11.3 reshape2_1.4 scales_0.2.4 stringr_0.6.2
[13] tools_3.1.2
回答1:
From github
library(DBI)
dbConnect(RSQLite::SQLite(), ...)
来源:https://stackoverflow.com/questions/26824540/loading-sqlite-table-in-r-with-rsqlite