简体   繁体   中英

Connect to Database Using dbPool RJDBC in R

I am trying to use a pool to connect to my database in R, but I get the error:

Schema must be specified when session schema is not set

How does one specify a schema? It seems like I need to specify it inside the pool. If that's the case, what's the parameter name for a schema?

pool <- dbPool(
  drv = RJDBC::JDBC(
    "xxx",
    "dir_to_jar", "`"
  ),
  dbname = "db",
  schema = "schema" # this didn't work
  url = url,
  user = user,
  password = password,
  SSL = 'true'
)

pool %>% tbl("schema.table")

I tried several other methods using DBI::dbConnect combined with Id and it worked:

pool <- DBI::dbConnect(
  drv = RJDBC::JDBC(
    "xxx",
    "dir_to_jar", "`"
  ),
  url = url,
  user = user,
  password = password,
  SSL = 'true'
)

# Didn't work
pool %>% tbl(dbplyr::in_schema("catalog.schema", "table"))

# Works!
s <- Id(catalog = "catalog", schema = "schema", table = "table")
df <- dbReadTable(pool, s)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM