I'm attempting to refactor older code to make use of DB pools using the pool package's dbPool function.
Historically I've been using the DBI package's dbConnect function without issue. I can successfully create a connection to my Oracle database with the below code (all credentials are faked):
conn <- DBI::dbConnect( ROracle::Oracle(), "database.abcd1234.us-east-1.rds.amazonaws.com/orcl", username="username", password="hunter2" )
However, when I use the same credentials in the same development environment to attempt to create a pool like this:
pool <- pool::dbPool( drv = ROracle::Oracle(), dbname = "orcl", host = "database.abcd1234.us-east-1.rds.amazonaws.com", username = "username", password = "hunter2" )
I get an error:
Error in .oci.Connect(.oci.drv(), username = username, password = password, : ORA-12162: TNS:net service name is incorrectly specified
I've used dbPool before but with Postgres databases instead of Oracle, and for Postgres, it just worked! I'm thinking that because my credentials work fine for dbConnect, there must be some small thing I'm missing that's needed for dbPool to work correctly too