-1
我试图使用游泳池使用下面的代码连接两个远程表(City
和Country
):如何使用连接池连接表?
pool <- dbPool(
drv = RMySQL::MySQL(),
dbname = "shinydemo",
host = "shiny-demo.csa7qlmguqrf.us-east-1.rds.amazonaws.com",
username = "guest",
password = "guest"
)
src_pool(pool) %>%
tbl('City') %>%
left_join('Country', by=c('CountryCode'='Code'))
但是,这是我得到的时候运行代码的错误:
Error: x and y don't share the same src.
Set copy = TRUE to copy y into x's source (this may be time consuming).
In addition: Warning message:
In force(expr) : You have a leaked pooled object. Destroying it.
下面一使用dplyr
工作示例相同的查询:
srccon <- src_mysql(
host = "shiny-demo.csa7qlmguqrf.us-east-1.rds.amazonaws.com",
dbname = "shinydemo",
user = "guest",
password = "guest"
)
tbl(srccon, 'City') %>%
left_join(tbl(srccon, 'Country'), by=c('CountryCode'='Code'))
而且使用另一个例子3210
sql <- "SELECT * FROM City LEFT JOIN Country ON (CountryCode=Code)"
dbGetQuery(pool, sql)
看起来更像是一个MySQL错误消息。也许有一些方法可以查看哪些字符串正在传递给底层数据库? –
@ 42-我编辑了问题和错误信息。我知道我可以使用'dplyr :: explain()'来打印mysql sintax,但在这种情况下,它只是检索我在问题中发布的同一个错误消息。 – Dambo