Skip to content

ODBC 1.6.1 incorrectly overwrites a line within simba.sparkodbc.ini with 'libodbcinst.a' #919

Open
@chris-beech

Description

@chris-beech

Upgrading ODBC to 1.6.1 ("odbc will now automatically find statically built installations of unixodbc") causes the error listed here (more detail below), under 'Troubleshooting: Apple macOS users':
https://solutions.posit.co/connections/db/databases/databricks/

Following the instructions I edited the following file:
/Library/simba/spark/lib/simba.sparkodbc.ini

to include this line:
ODBCInstLib=/opt/homebrew/Cellar/unixodbc/2.3.12/lib/libodbcinst.dylib

Upon trying my connection:

con_db <- dbConnect(
  databricks(),
  httpPath = "/sql/1.0/warehouses/12345678910"
)

ODBC 1.6.1 overwrites that line to the following:
ODBCInstLib=/opt/homebrew/Cellar/unixodbc/2.3.12/lib/libodbcinst.a

Giving the error:

Error in `dbConnect()`:
! ODBC failed with error 00000 from [Simba][ODBC][Simba][Support].
✖  (11560) Unable to locate SQLGetPrivateProfileString function: (50483) Could not load shared library, all attempted paths ("",
  "/opt/homebrew/Cellar/unixodbc/2.3.12/lib/libodbcinst.a") failed
ℹ From nanodbc/nanodbc.cpp:1150.

Uninstalling 1.6.1, re-installing 1.6.0, and following the instructions fixes the problem and the connection can again be made.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions