Hi @nickodemus,
It looks to me like odbcinst -j
is returning the correct output, and you are able to successfully run isql
, so I think you're almost there. For some reason, your R code isn't actually making use of the DSN you're configuring, and therefore R is looking in the wrong place for the driver.
Can you share the isql
command that's running successfully? That might be a hint here.
It looks like you've got a few different pieces configured here, but the simplest pattern is usually to:
- Define the DSN in
odbc.ini
with a name. In this case, it looks like you've defined a DSN namedbanner
in theodbc.ini
. - Use that DSN in your DBI code. Since your DSN is named
banner
, your DBI code would look something like
con <- DBI::dbConnect(odbc::odbc(), "banner", <additional arguments not in the odbc.ini>)
, - The
odbc.ini
will either directly specify the driver path, or use a name defined inodbcinst.ini
to look up the driver path. It looks like yourodbc.ini
is directly specifying the driver, so you shouldn't need theodbcinst.ini
at all.
There's a little more of a step-by-step walkthrough here: https://db.rstudio.com/best-practices/drivers/
It looks to me like steps 1-6 above (thanks for the super-thorough walkthrough, btw) are about getting the Oracle driver to work properly, but now it's just about making sure the R install knows how to find it.
What happens if you try connecting using the DSN name?