r语言 - RPostgreSQL 访问数据库,错误:找不到函数"show"的继承方法,签名为"PostgreSQLConnection"


这是一个

新的,我在其他堆栈溢出站点上没有找到任何提及这一点的内容。

所以我正在用R编程,并使用RPostgreSQL包访问Postgres 9.1.5数据库。所以我像往常一样创建了与数据库的连接,现在我遇到了一个奇怪的错误。

db.conn = function(){
  ## This function creates a connection to the database. Subsequent
  ## functions that access the db will go through this function.
  drv = dbDriver("PostgreSQL")
  con = dbConnect(drv, user = "user", password = "password", dbname = "dbname", host = "localhost", port = 5432)
  return(con)
}

所以当我创建一个对象时:

testdb = db.conn()

对象似乎被创建了,但是当我键入时

testdb
Error in function (classes, fdef, mtable)  : 
  unable to find an inherited method for function "show", for signature "PostgreSQLConnection"

我以前从未见过此错误。关于它可能来自哪里的任何建议?任何帮助将不胜感激。

请不要交叉发布。我也刚刚在RPostgreSQL列表中回复,说这对我来说很好用:

R> library(RPostgreSQL)
Loading required package: DBI
R> drv <- dbDriver("PostgreSQL") 
R> con <- dbConnect(drv, user = "edd", password = ".....", dbname = "......",
+                   host = "localhost", port = 5432)
R> con
<PostgreSQLConnection:(21267,0)> 
R> 

如果这对其他人有帮助,我收到了类似的错误:

"找不到签名"PostgreSQLConnection"的函数dbIsValid的继承方法

当我无意中忘记将 dbConnect 调用的结果分配给连接对象时,就会发生这种情况。

所以这不起作用:

dbConnect(...)

但这确实做到了:

con <- dbConnect(...)

我遇到了和你一样的问题。我的解决方案是删除"DBI"包并重新安装它。它对我有用。但它可能对你不起作用。您可以尝试:

remove.packages("DBI")
install.packages("DBI")

最新更新