microsoft/homebrew-mssql-release

File not found error for MS ODBC SQL 13 on MacOS Catalina

stephaniegail opened this issue · 4 comments

I'm trying to install MS ODBC SQL driver on a Mac running Catalina.

I have the problem of "Error: nanodbc/nanodbc.cpp:1021: 00000: [unixODBC][Driver Manager]Can't open lib '/usr/local/Cellar/msodbcsql/13.1.9.2/lib/libmsodbcsql.13.dylib' : file not found".

I'm trying to install this for R/Rstudio. I do get this output:

odbc::odbcListDrivers()
name attribute value
1 ODBC Driver 13 for SQL Server Description Microsoft ODBC Driver 13 for SQL Server
2 ODBC Driver 13 for SQL Server Driver /usr/local/lib/libmsodbcsql.13.dylib
3 ODBC Driver 13 for SQL Server UsageCount 4

I followed the directions on this page under Troubleshooting to create symbolic links, that did not fix the problem.

I then followed the directions on this page. It would seem I have two versions of the driver manager installed, as no log file was produced. So, how do I find the second version and how do I delete it?

Or - perhaps version 13 of the MS ODBC driver is not compatible with Catalina, as the installation instructions on say for El Capitan and Sierra? Does anyone know if this is true, and if there's any workaround?

Thanks,
Stephanie

Have you checked that the file is actually accessible at that path? The "file not found" error usually means "the file or one of its dependencies is not found". If the file exists you can run otool -L on it to determine if its directly linked dependencies are present.

find / -name 'libodbc*.dylib' will find all DMs' libs on your system, you can rename/delete them as needed.

Is there any specific reason you need to use v13? The latest version is v18.

Yes, the files are actually there, and accessible. The output from otool looks good.

I need to use v13 because we are running MS SQL Server 2014. I tried v17 and v18 and got totally different errors, which looks like they were trying to connect but incompatible with the Server.

The find doesn't find the file I need, as it is libmsodbc*.dylib not libodbc*.dylib. When I do a find on libmsodbc* it found 13, 17, and 18. I deleted 17 and 18, still getting file not found, still no log file created.

Any more thoughts?

ODBC 17/18 should be able to connect to SQL 2014. What errors do you get?

I was referring to the DM, not the driver, since you said you might have multiple DMs installed.

Closing as inactive.