ODBC (Arrow Flight SQL) driver not working when credentials passed as parameters

UPDATE : there is some problem with 0.9.1 driver, we instead used the 0.9.0.116 and are able to connect now with credentials as arguments

I have installed the latest (0.9.1) ODBC driver on our local linux machine (CentOS 7) where Dremio 23 is installed. We configured the service and when we are able to test run queries when we connect using :

isql -v ArrowFlightSQLODBCDSN

Can even see the queries executed listed in the “Jobs” section over at the Dremio app-page.

This is taking the credentials from /etc/odbc.ini file.

However, problem comes when we try to pass credentials as parameters or arguments for the same statement :

isql -v ArrowFlightSQLODBCDSN myusername mypassword

This command now fails to execute with the error :

[28000][unixODBC][Apache Arrow][Flight SQL] (200) Failed to authenticate with user and password: IOError: Flight returned unauthenticated error, with message: Unable to authenticate user myusername};PWD={mypassword, exception: Invalid user credentials, user myusername};PWD={mypassword. Detail: Unauthenticated

Despite the fact that this myusername mypassword is the same as what is present in the odbc.ini file.

This is really weird as former is working but not latter. Were it an issue with network or connection or anything else, it should be failing with former also.

Can anyone confirm if this indeed is a problem with the driver OR if we are missing something in our configuration?

Are you using SSL encryption for your connection ?

Actually I am also facing similar issue. My case is a bit different.
Dremio server is on linux and I am trying to connect it via arrow flight sql odbc driver on windows.

I am getting an error like following.
‘Flight returned authenticated error, with message: User is not authenticated’.

While going through dremio server.log file I found following.
‘User session is not available in session manager’.

If you have some insight related to the above error, please let me know.

I have disabled ‘use encryption’ tickbox on windows arrow flight odbc driver as well as i have set ‘flight.ssl.enabled’ to ‘false’ in dremio.conf file on linux.

No. I read somewhere that Community edition doesn’t support encryption so I have not enabled it. Plus anyways we’re doing PoC first to see its feasibility, so encryption and security are not of primary concern right now.

Okay. Can you help with the error I am getting, in case you also have faced it. It would be of great help.

Windows side we are also facing problem. We’re trying to merge with Informatica. Suspicion is that Informatica PowerCenter is 32-bit and this dremio driver is 64-bit exclusively, thus compatibility issue might be there. Anyways when we try to import source/target entities in PowerCenter Designer, we can use Windows’ built-in ODBC prompt; after installing the Dremio provider driver, it shows as a driver available there. However, we are unable to connect as it keeps throwing some error along the lines of “Unable to connect to all addresses. Please check your encryption settings”. Weirdly the error is same even if I give bogus details in Host/Port/Username/Password etc. So it looks mostly that its not able to handshake itself.

We were also getting the error ’ “Unable to connect to all addresses. Please check your encryption settings ”’ previously, but after setting ‘flight.ssl.enabled’ to ‘false’, this error disappeared. Now it is showing as ‘User is not authenticated’ and upon going through server.log file it is showing as ‘User session is not available in session manager’.

Anyways, thanks for the update.

Can you share the link of the driver with version 0.9.0, as the link I am getting routes me to the download of driver 0.9.1 only.

https://download.dremio.com/arrow-flight-sql-odbc-driver/

1 Like