-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to connect to SQLite using SQLiteODBC on MacBook Air M1 #86
Comments
I presume you installed the Home Brew macOS SQLite 0.9998 ODBC driver ? Which we have done on both Silicon M1 and Intel machines, both of which work with both the unixODBC
Now I note your driver file name is
|
Thank you for your reply and the detailed information provided.
~/.odbcinst.ini:
When executing the iodbctest sqlite command, I encounter the following error:
Additionally, I would like to add that when using iODBC Administrator, the driver list does include SQLite3. However, when attempting to add a new User DSN, an error occurs stating, "An error occurred when trying to add the DSN: Request failed." I noticed that there might be an issue with the driver file path "Driver = /opt/homebrew/lib/libsqlite3odbc.so" as it appears to be an alias pointing to the original file "libsqlite3odbc-0.9998.dylib". I'm not sure if this is the root cause, but I suspect the issue might lie here. I would greatly appreciate any further suggestions or ideas that you may have. Thank you once again for your assistance! |
If you want to use
These settings will works also with iODBC, but
If you want to use
It will work ONLY with iODBC and it will not work with UnixODBC.
|
@Promisey — Please let us know if the info above was sufficient to get you rolling, or if you need further assistance. If you do need more help, please let us know whether the SQLLite driver is the only one that's not working for you — that is, please confirm whether you're able to use any or all of the other ODBC Drivers listed in the |
@TallTed ~/.odbcinst.ini
~/.odbc.ini
After executing the However, I found that I must use the Then, I tried to use the
In addition, in the iODBC Administrator64, the driver list indeed added the SQLite3 option, but the User DSN list and System DSN list are still empty. When I tried to add a new DSN, the following error occurred:
I also noticed that both of these files are aliases, pointing to Thank you once again for your attention and help. I hope to resolve these issues. Looking forward to your reply! |
Dear Developer, I would like to add some additional information regarding my issue. My ultimate goal is to connect to a SQLite database on a MacBook M1 using Tableau Desktop. Currently, in the ODBC page within Tableau, the DSN list is empty and there is no SQLite3 option in the driver list. I appreciate anyone's assistance and look forward to any reply! Sincerely |
You have been able to make a connection with the It also appears you have updated the SQLite ODBC driver as it now has a ".so" file extension rather than ".dylib" ? I still would like to see
I don't know what you mean by the In If you want the SQLite driver to be visible in the iODBC Administrator UI then you need to specify a setup dialog name to use by pointing to the driver shared library itself in the
|
Dear maintainers and contributors, First of all, I'd like to apologize if my previous response caused any confusion. I'm a novice in this area, and I'm sincerely seeking your help. Here's the output of the command
This file is a symlink to When I run the As shown in the image, it seems to be an empty database file, not the SQLite database path I configured in Regarding the "ATTACH DATABASE" command, the full command I used is:
My concern is that I must use this command to connect to the specified database, which makes me wonder if the database path specified in Additionally, after configuring the setup in the 2023-04-26_10-05-44.mp4The iODBC Administrator UI even crashes and exits, as shown at the end of the following screen recording: 2023-04-26_10-01-33.mp4I genuinely appreciate your patience in responding to my questions. My ultimate goal is to connect to an SQLite database file using Tableau through ODBC. I am grateful for any assistance anyone can provide. Best regards! |
Looking at the screen recordings the iODBC Administrator being run is for As per this OpenLink ODBC Driver and iODBC usage on Apple Silicon M1 machines post, on an M1 machine you should be running the Note you also need to ensure the Tableau application is an M1 (arm64) binary given your SQLite driver is an M1 (arm64) binary. As if Tableau is an Intel 64 binary then you will need a SQLite Intel 64 ODBC driver to work with it. |
I apologize for the confusion earlier as I mistakenly used the wrong UI software. However, I am experiencing the same issue with iODBC Administrator (Apple Silicon) as shown in the attached screen recording: 2023-04-28_13-35-38.mp4Additionally, I have installed the M1 (arm64) supported version of Tableau Desktop. I followed the official website's instructions and filled out the necessary information to obtain the trial version. The application opens and runs correctly on my machine. However, I have not been able to find a way to connect to my SQLite database, as previously mentioned. Thank you for your time and understanding. Kind regards. |
Can you provide the results of running the following command from a terminal session started as the user (fox ???) the iODBC Admin UI runs as on the M1 machine:
|
OK, so the permissions on the Can you please confirm the version of iODBC Administrator and components, which is available in the |
Development has found an issue with a setting on the macOS UI for the generic setup dialog which caused key/value pairs not to be saved. |
Please download and install the latest version of the iODBC Driver Manager v3.52.16 for macOS 11 and newer which fixes the UI issues you reported. https://github.com/openlink/iODBC/releases/download/v3.52.16/iODBC-SDK-3.52.16-macOS11.dmg |
Thank you for your update. Unfortunately, it seems that the issue still persists after the upgrade as shown in the attached screen recording: And I'm not sure what the cause might be. I followed your provided link for downloading and directly installed the upgrade without uninstalling the original application or rebooting my device. I appreciate any further assistance or suggestions you may have to help resolve this issue. Sincerely |
What version of macOS are you running, as the "Request failed" error writing the DSN implies a possible permissions error and so even though the ~/.odbc.ini has unix file permissions to be written to there maybe some higher level Apple entitlement requirement preventing access ? Also to move forward in terms of connecting to your target tableau client application, if you manually configure the SQLite ODBC DSN in the ~/.odbc.ini user DSN file is the DSN visible in tableau and are you able to connect ? |
Actually looking again at the file permissions of the ODBC files you provided previously, although the So you need to change the owner of the physical
should be:
|
I'm glad to see that there has been some progress. I was able to add a new DSN using the iODBC administrator UI after executing the following two commands to modify file permissions:
Additionally, I was able to connect to the specified database file using the iodbctest DSN="**" command. However, I encountered an issue when trying to connect to the newly created DSN using Tableau's ODBC option. The error message is as follows: I also noticed that the SQLite3 option is missing from the list of drivers in Tableau. I suspect this might be related to permissions too, but I'm not sure what to do next. I tried to delete the SQLite driver and reconfigure it using the iODBC administrator UI, but I encountered another issue, as demonstrated in the following screen recording: I would sincerely appreciate any guidance or suggestions on how to resolve these issues. Thank you! |
As indicated in #86 (comment) you needed to ensure the tableau application is an Thus you need a Or as our iODBC Administrator and ODBC Drivers are built, a universal binary SQLite ODBC Driver (with arm64 and x86_64 modules included in the single binary) should be used which would then work dynamically against arm64 or x86_64 ODBC applications. But for some reason homebrew do not build universal binaries, which they should as it is not a difficult process as they do build both separately and just need to bundled them together ??? In fact @pkleef built a SQLite ODBC Driver universal binary for macOS (arm64/M1 or x86_64/Intel) and should enable connection to your Tableau x86_64 application.
|
I would like to sincerely thank you for your guidance. Indeed, the Tableau version I downloaded is for Intel 64-bit and runs through Rosetta 2. I just found out that they don't support ARM yet, and I didn't realize this before. I apologize for any confusion. Since Tableau does not officially support ARM, it seems that the only option is to use ODBC Intel 64bit which can be running on macOS. I appreciate the information you provided about the SQLite ODBC Driver universal binary for macOS (arm64/M1 or x86_64/Intel). However, I noticed that the download link seems to be problematic and I am unable to download the file directly. Could you please provide the correct file address? Thank you very much for your assistance. |
@Promisey — If your browser isn't cooperating, you should be able to download the Universal2 curl -kO http://download3.openlinksw.com.s3.amazonaws.com/support/sqlite/libsqlite3odbc.so |
I am unable to connect to my SQLite database using the SQLiteODBC driver (version 0.9998) on a MacBook Air M1. I have encountered issues adding the SQLite ODBC driver in both iODBC and ODBC Manager, and I cannot establish a connection using the isql command.
Here is the relevant information:
System information:
MacBook Air M1
SQLiteODBC version 0.9998
Configuration files:
~/.odbcinst.ini:
~/.odbc.ini:
Errors:
When attempting to add the SQLite ODBC driver in iODBC and ODBC Manager, I receive the error: "An error occurred when trying to add the driver. General installer error."
After installing unixODBC and configuring the ~/.odbcinst.ini and ~/.odbc.ini files as shown above, I get the following error when running the "isql SQLite_Retail" command: "ERROR: Could not SQLConnect."
I have tried several troubleshooting steps, but I am still unable to resolve the issue. Any assistance or suggestions would be greatly appreciated.
The text was updated successfully, but these errors were encountered: