ODBC Connection error

Has anyone come across the following when trying to use the ODBC driver

(‘HY000’, ‘[HY000] [unixODBC][Dremio][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function: [Dremio][DSI] An error occurred while attempting to retrieve the error message for key 'LibsLoadErr' with message parameters ['“”'] and component ID 3: Message not found in file “/opt/dremio-odbc/share/ErrorMessages/en-US/ODBCMessages.xml” (11560) (SQLDriverConnect)’)

Until last week, this was absolutely fine.

The only thing I am aware of is that MS updated their VM images for Azure DevOps MS-Hosted, which make me think it’s related to that.

Using the ODBC driver dbt-property-report\build\dremio-odbc-1.5.4.1002-1.x86_64.rpm, aliened into Ubuntu

I’ve never seen the [DSI] bit before,and google turns up nothing

Hi @spireite,

Don’t know if this helps, but I was seeing this error two days ago after I built a new Apache Superset image using SQLAlchemy and specifically pyodbc==4.0.34 to connect to Dremio using dremio-odbc-1.5.4.1002-1.x86_64.rpm

Many different ODBC drivers are failing on that version of pyodbc according to their github repo. If you are using Dremios ODBC connector with pyodbc try to downgrade to pyodbc==4.0.32

Kind regards,
Jesper

1 Like

@ramworks

I’m not even sure that’s the same thing to be honest. I’m using DBT (and the Dremio adapter) so not sure if I can rollback the version of pyodbc. It’s worth a try I suppose.

@balaji.ramaswamy I know the ODBC driver is no longer available for download, but I’m not going to upgrade from 21.1 anytime soon, so the new one is a none-starter.

Background: I Alien the .RPM ODBC driver into an MS Devops hosted-agent using Ubuntu.
The only thing that I see different from my successful runs is that it looks like MS may have updated their Ubuntu image - maybe introduced an incompatibility?

Did a fresh pip install dbt-dremio in a new venv now and got pyodbc==4.0.34 as a dependency install.

But by specifying the version of pyodbc first will fix this: pip install pyodbc==4.0.32 dbt-dremio

Yeah, I tried it - thanks for the suggestion - but this is definitely more of an OS related issue.

Hi @ramworks !

It was exactly what you pointed out!
In Superset, you only need to change the file /superset/docker/requirements-local.txt to:

pyodbc==4.0.32
sqlalchemy_dremio

It will enforce the correct pyodbc version.
Thank you! You save me from a big headache. :pray:

1 Like