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
Doesn't work on Excel 2016 and macOS High Sierra #29
Comments
|
Hi, Example: /Applications/iODBC/iODBC Administrator64.app/Contents/MacOS/iODBC Administrator64: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [i386:Mach-O executable i386]
/Applications/iODBC/iODBC Administrator64.app/Contents/MacOS/iODBC Administrator64 (for architecture x86_64): Mach-O 64-bit executable x86_64
/Applications/iODBC/iODBC Administrator64.app/Contents/MacOS/iODBC Administrator64 (for architecture i386): Mach-O executable i386This shows our iODBC Administrator 64-bit supports both 32- and 64-bit architectures; for the 32-bit version the same command only shows an i386 architecture. My betting is if you were to run You can either:
HTH |
|
Hello, first of all thanks for your answer! I've the last Excel version (16.10), and launching I confirm instead that launching The thing I can't explain is therefore that Excel, while being 64-bit, would seem to start the 32-bit version of iODBC. Will there be a way to force it to launch the 64-bit one (or to remove the 32-bit one)? Thanks again! |
|
Excel 2016 v16.10 is definitely 64-bit only. The iODBC libraries are "fat" binaries containing both 32-bit and 64-bit, and only the 64-bit portion of the iODBC libraries is loaded when the 64-bit Excel 16.10 (or That said -- I think your issue is with the mysql-connector ODBC driver, not with the iODBC driver manager. This can easily be confirmed by downloading and testing with any of our own ODBC Drivers for MySQL; the Lite Edition provides easiest setup with optimal compatibility with all 32-bit and 64-bit ODBC applications. (Free two-week trial license is provided with download.) Randomly moving library files around is not usually recommended; please put the libraries you moved from One current question is the The full details of the DSN configuration are also likely to be relevant. Checking these requires review of four configuration files, to start --
|
|
Hello and thanks for your answer. At the moment I have not yet found the solution. Libraries seem ok: Here is the content of the When I use So it's fine. When I do the same in Excel I get: Here are the contents of the files you mentioned: Do you see something wrong? |
|
AH! Yes, there are a few things to be addressed here. immediate possible successExcel should be able to make use of your existing apparently-correctly configured User DSN, possible error in FileDSN being created through ExcelI don't know what settings you made in the DSN whose name is fully hidden behind the error dialog. I'm betting there's at least one error there. Best to provide the text of the file for me to check, if you want to continue working with this or other FileDSNs. Please also note that every DSN should be named uniquely. This DSN should not be named errors in existing configuration filesIn the two DSNs in your system-level -- should become these -- -- or these -- possible rogue configuration filesPlease note that That output may reveal some other files that need tidying, due to a number of components doing ODBC things on their own, rather than making appropriate API calls. |
|
Hello, I've made the changes you indicated (symbolic link In all honesty, please note I had not made any particular customisations, so these things derive from the standard installation of MySQL Connector ODBC 5.3.10 or iODBC Administrator 3.52.12. Please also note I had already tried to use all the possible combinations of configuration files, and none of these worked in Excel (no problem instead in Here is the output of the last command: Thanks again for your time and patience! |
|
First thing -- I think there was a misunderstanding of my earlier. Symlinks should be —
There are a couple other oddities in the output you provided. Please execute this sequence of commands (adjusting At this point, I would expect your MySQL Connector ODBC DSN to be testable via If Excel doesn't now work with the MySQL Connector ODBC DSN, I urge you to download and test our Lite Edition ODBC Driver for MySQL with your Excel -- as this will show whether your Excel installation is working with your iODBC installation. Assuming our driver works with your Excel, and the MySQL Connector ODBC does not, I must send you to the MySQL folks for further assistance with that driver. I'm afraid we can only provide minimal support for Microsoft Excel and MySQL Connector ODBC, as these are not our products. (That said, please do let us know how things go.) |
|
I've done all the steps you have indicated, but unfortunately the behavior has not changed: in Excel I still get the "Specified driver could not be loaded", while in the So I've installed your Lite Edition ODBC Driver for MySQL: And now it works! So, in your opinion, this is a problem with MySQL Connector ODBC 5.3.10? Thanks for your precious help! |
|
The MS Office is Sandboxed application, so (may be) it doesn't have access to |
|
OMG, it worked! THANKS! But, so, it's something that should be fixed (or at least documented) in the MySQL Connector ODBC 5.3.10 installer? |
|
Yes, but you have write to MySQL team about this, I think. |
|
Ok. Thanks again guys for your invaluable help! |
|
Thanks so much, this helped me get my SQLite3 drivers working too |
|
A brief update: I reported the problem to the MySQL team (issue #89931), and the ticket was accepted and passed into the "verified" state. Hopefully then it will be solved soon! |
|
Thank you for posting this. Was having the exact same issue with the latest mysql connector (version 8.0.11). Moved my ansi library (and all related libraries) to /Library/ODBC/mysql-connector-blahblah-/libmyodbc8a.so and it now works with Excel. Took me half a day but I never would have solved without this information. I guess that means MySQL has not yet addressed issue #89931. |
|
Unfortunately you're right, I haven't received updates on the issue #89931 from the MySQL team :( |
|
I created a script to solve this: |
|
Thank you for the script . error message [MySQL][ODBC 8.0(a) Driver][mysqld-5.5.44-MariaDB-log]You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM Holding' at line 2. |
|
@domenicofusco - I think your current error is unrelated to iODBC, and should be raised with the folks who provided that ODBC driver for MySQL. |
|
I actual did get the SQL statement on iODBC to work eventually , I thought
it was a Mac OS driver fault.
When I inspected a similar query connection I set up on a PC which worked
fine I found the following.
SELECT Holding_0.Code, Holding_0.Description, Holding_0.Price,
Holding_0.Held, Holding_0.BuyPrice, Holding_0.FiftyAverage,
Holding_0.TwentyAvg, Holding_0.Total, Holding_0.LowBand, Holding_0.HighBand
FROM ShareHistory.Holding Holding_0
ORDER BY Holding_0.Total DESC
I did the same on the mac and it works fine.
What I now don,t understand is the "_0" which has to be put in the SQL
statement for the statement to work.
Excel on the PC sets up the same query/ connection.
Maybe I am too new to this I will see if I can find any reference to this
online.
Sorry about the late reply.
…On Fri, 12 Oct 2018 at 04:22, Ted Thibodeau Jr ***@***.***> wrote:
@domenicofusco <https://github.com/domenicofusco> - I think your current
error is unrelated to iODBC, and should be raised with the folks who
provided that ODBC driver for MySQL.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/Ab-Ukq4hjfey0laUriYaPm8CJl1InCuWks5uj35GgaJpZM4SYnCX>
.
--
*ThanksDomenico Fusco*
|
|
Looking a little closer, I think your syntax error is a simple missing semicolon. This is what you said you executed -- I think that should be -- |
|
I will try that.
Somehow I think I tried it.
Doesnt hurt to recheck.
The interesting thing is why the _0 .
Will post how I go.
…On Thu, 18 Oct. 2018, 8:53 am Ted Thibodeau Jr, ***@***.***> wrote:
@domenicofusco <https://github.com/domenicofusco> -
Looking a little closer, I think your syntax error is a simple missing
semicolon. This is what you said you executed --
use ShareHistory
SELECT * FROM Holding
I think that should be --
use ShareHistory ;
SELECT * FROM Holding
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/Ab-Ukh1fFtdzaECRPBUBOj2aNr1yYPH4ks5ul6bKgaJpZM4SYnCX>
.
|
|
Justed tried it in Excel for PC comes up with the same error as on the mac.
Seems to be how the MariaDB or Excel needs the statement to be written.
Will do some more research
On Thu, 18 Oct. 2018, 9:05 am domenico fusco, <domenico.fusco55@gmail.com>
wrote:
… I will try that.
Somehow I think I tried it.
Doesnt hurt to recheck.
The interesting thing is why the _0 .
Will post how I go.
On Thu, 18 Oct. 2018, 8:53 am Ted Thibodeau Jr, ***@***.***>
wrote:
> @domenicofusco <https://github.com/domenicofusco> -
>
> Looking a little closer, I think your syntax error is a simple missing
> semicolon. This is what you said you executed --
>
> use ShareHistory
> SELECT * FROM Holding
>
> I think that should be --
>
> use ShareHistory ;
> SELECT * FROM Holding
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#29 (comment)>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/Ab-Ukh1fFtdzaECRPBUBOj2aNr1yYPH4ks5ul6bKgaJpZM4SYnCX>
> .
>
|
|
The Many tools and DBMS would have that read -- I wonder if there are multiple |
|
I checked but this is not the case.
I have written visual basic code and it seems to work fine.
It is only when I have to get the data and place it into the spreadsheet
that this quirk happens
Connection string in VB (on a different database than the previous
connStr = "INSERT INTO
BankImport(TranDate,TranAccount,TranDescription,TranDebit,TranCredit,TranType)
values" _
& " ('" & sTranDate & "','" & sTranAccount & "','" &
sTranDescription & "','" & fTranDebit & "','" & fTranCredit & "','" &
sTranType & "')"
works a treat. I have come to the realisation that it is how it is shown
when excel sets up the connection. As long as you know it is there it
becomes an inconvience. If you set it up on the PC then yo get to view the
query save it and open it up on the mac with no problems
SELECT BankImport_0.ID, BankImport_0.TranDate, BankImport_0.TranAccount,
BankImport_0.TranDescription, BankImport_0.TranDebit,
BankImport_0.TranCredit, BankImport_0.TranType, BankImport_0.ExpenseID
FROM BankTransact.BankImport BankImport_0 limit 30.
Thanks for the help
Sometimes it is better to accept some deficiencies as long as you have an a
solution that works.
…On Thu, 18 Oct 2018 at 09:26, Ted Thibodeau Jr ***@***.***> wrote:
@domenicofusco <https://github.com/domenicofusco>
The _0 in the query which works comes from its FROM clause, which creates
an alias targeting the qualified tablename, obviating the preceding USE
statement --
FROM ShareHistory.Holding Holding_0
Many tools and DBMS would have that read --
FROM ShareHistory.Holding AS Holding_0
I wonder if there are multiple Holding tables in the catalogs made
available by this MariaDB instance? You might find this works just as well
--
SELECT * FROM ShareHistory.Holding
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/Ab-UkloBHasbaisRU2DfJIC9YNkuPJDEks5ul66SgaJpZM4SYnCX>
.
--
*ThanksDomenico Fusco*
|
|
This thread was immensely helpful in solving the connection issue. The sandboxing was causing repeated crashes |
|
Sorry gents... @smalinin: as you mentioned about EXCEL sandboxing access ... part of my odbc.ini in /Library/ODBC/odbc.ini |
|
@Hochiss - I am not sure I understand your report. If by "64-bit works and non-64 NOK" you mean "Excel 2016 works with the 64-bit MariaDB ODBC 3.1 Driver, and not with the 32-bit MariaDB ODBC 3.1 Driver", this is as expected. 64-bit ODBC apps such as Excel 2016 cannot load 32-bit ODBC drivers. It's best not to point to details in an external and locked silo. If my comment above does not answer your concern, please post whatever details you provided on the other forum to this thread, along with summary (or, if permitted, full text) of responses you received there. |
|
Thanks @TallTed for still keeping eyes on this previously closed thread. My case is almost the same as OP except it is MariaDB, i.e. EXCEL(v16.16.8 = 64bit) cannot connect via ODBC to MariaDB in LAN. But testing within iODBC.app(64-bit) was successful, but change to non-64bit iODBC.app was NOK(IM003 error), also I cannot add user DSN via this app (apparently due to the driver not recognized). My basic settings:
MariaDB ODBC 3.1 driver, which is 64-bit(checked with file -N): Here are some screenshots: 2.NOK with 1. OK with iODBC-admin.app | EXCEL ODBC gets same error message |
The MariaDB ODBC driver could not load openssl library.
p.s. |
|
@Hochiss - To (hopefully) clarify my earlier -- I did not mean for you to remove the link to the Microsoft forum (and it would be good now both to restore that link, and to add the link(s) to the report(s) you've made to/about MariaDB and/or others). My point was that when posting such links to external forums here -- especially when those links require a login to read -- those links should accompany (not stand in for) the information provided in the other space, so that someone working on this (or any other) github-based Open Source project does not need to create an account on some other forum, especially just to read details about a report made here. (It would also be good to go back to your posts on those other forums, and add links to your initial comment in this post, and more importantly to @smalinin's response, such that it's easier for current and future readers there to find that answer.) |
|
@smalinin thanks for stopping by.. I tried to reproduce your system.log ... but not for me... My feedback was always this: "Microsoft Excel[14049]: dynamic_cast error 2: One or more of the following type_info's has hidden visibility. They should all have public visibility. N3Mso9Clipboard22IMsoClipboardAsyncDataE, N3Mso9Clipboard3Ole16OleClipboardDataE, N3Art10DataObjectE." I will try to come back to you also @TallTed (thanks!) for your further test /amendment in the posts. /BR |
|
Hello @smalinin . I moved the file to the /Library/ODBC as suggested, but I still have issue with ODBC connection set up for Mac Excel. I created the User DSN on ODBC Administrator and IODBC Administrator and tested the connection for the same which is successfully connected. But when I try to connect it on Excel for Mac using External Database option in Data Tab, then it has the same issue: IM003 -- [iODBC][Driver Manager]Specified driver could not be loaded. |
|
I am using 64-bit Excel and Mac OS is latest version |
|
As you are new to this thread, it's hard to tell exactly what you're working with (particularly, what ODBC driver? both name and version generally matter), and what you've done. Have you applied all updates from Microsoft to your Excel? Is that Excel 2016, Excel 2019, or Excel 365? What file did you move to Are you able to create and test both User and System DSNs with this driver with only the 64-bit iODBC Administrator64.app, or only the 32-bit iODBC Administrator.app, or both? Are you able to connect to and query these DSNs through iODBC Test.command and/or iODBC Test.app? What happens when you try to have Excel connect to each of these DSNs? |
How did you fix the sqlite3 access? After I moved the driver files to /Library/ODBC I got the "libiodbcinst.2.dylib" Library not loaded error in Excel? Did you also fix paths with the install_name_tool? |
Ok, now it works for me.
|
|
Hello,I am new at this, I need to connect Excel 2016 to an Oracle database with ODBC. Driver: /usr/local/instantclient_12_2/libsqora.dylib.12.1 Setup File: [ODBC Data Sources] [INTEGRA_ODBC] Error: [iODBC] [Driver Manager] dlopen (usr/local/lib/ The all Oracle folder is copied to /usr/local/lib, but displays a screen in no text. |
|
I wrote already above that:
Also you need to check your ODBC driver with command: If your ODBC driver uses some dynamic libs from Looks my comments above for MySQL ODBC driver. |
|
This thread was very helpful trying to get macOS 10.14.6, Excel 16.41, iODBC Administrator64(3.52.14), mysql8.0.21 (running on localhost) and mysql-connector-odbc-8.0.21-macos10.15-x86-64bit to all play somewhat nice. I had an old 32bit version of excel initially installed and no luck whatsoever with that. I'm still not 100% I needed to install the latest 64bit version of excel, but I'm working now, so... I'm not super experienced with excel or mysql, so perhaps this may be of limited value, but I had no luck creating a "User DSN" from either iODBC Administrator64 or from within excel. When I create a User DSN from within iODBC Administrator64, I can save and test it successfully, but it cannot be seen from excel Data -> Get External Data. The only DSN that excel can see for me are the "System DSN's" The other oddity I noticed is that when I finally do make a connection from excel to mysql, I need to run 2 separate SQL statements to connect to a database. I needed to "use SAMPLETABLE" (run) and then SELECT * FROM SAMPLETABLE as 2 (run), BUT... then excel fails to import the data into excel (complaining it can't find the DB). The ugly hack (which I'm sure has negative security implications) was to "configure" the System DSN in iODBC Administrator64 to use "DATABASE" "SAMPLETABLE" After that my SELECT * FROM SAMPLETABLE as a single statement inside excel and I could import data. Finally...I noticed lots of crashing from both iODBC and excel...just in general, but specifically if you try to configure a connection with USERNAME and PASSWORD. Hope this helps someone! |
|
Hi, I have the same initial problem :( MyConfiguration:
I used "iODBC Administrator64", I added a System DSN or User DSN (I tried both) after that I pressed to test. The popup with username and password appeared and, after my insertion, the result was "The connection DSN was tested successfully, and can be used at this time.". I opened Excel, data menu, database and I selected the connection but, after insertion to username and password, the error was "[iODBC][Driver Manager]Specified driver could not be loaded". Any suggestion? Thanks |
|
@chiaramaya - Would you please try following the guidance outlined above at #29 (comment)? If that doesn't lead to success, please create a new issue, referencing this one, and include the specific versions of the iODBC and MyODBC components, as well as the sub-version of macOS 10.15, that you're testing with. Please also try to use your DSNs with the relevant test tools included with iODBC ( |
|
@fbeaugra67 -- You said that data is fetched correctly through your DSN. What tool (name and version) did you use to test this? Looking at Microsoft's Office for Mac version history page, you're running the latest update. Although, there's nothing mentioning ODBC on the Excel release notes, Microsoft has had a history of including patches they don't mention in release notes, so I'd be curious to know whether this issue is also seen with previous versions, if you know or can find out from colleagues. That said, it is not at all certain that your issue is related to this issue (#29) though it does appear to have some similarity, and I have a few ideas about what may be going on, please create a new issue on this repo or, preferably, start a new thread on community.openlinksw.com. Please include all of:
You also said that you relocated the driver to Last thing for now -- you might try downloading, installing, and testing with a free 30-day trial license for OpenLink's ODBC Drive for MySQL, which includes installation of the latest pre-built iODBC SDK and Driver Manager components. The path of investigation for the myODBC components may change once it's known whether the OpenLink driver works with Excel with this installation. Also, if the OpenLink driver works with your Excel with this iODBC installation, you may find that your myODBC components work with your Excel without any further efforts. The iODBC components will continue to work after the evaluation license for the OpenLink ODBC driver expires. You may also want to perform comparison testing with the drivers you have installed at that point, before you decide whether to purchase a longer-term license. You may choose to keep the OpenLink driver installed or remove it after the evaluation license expires; it will cause no harm by remaining present. |
|
@TallTed
I have installed the OpenLink's OBDC as per your advice, but Excel is still not detecting the OBDC components. I am also not able to establish the connection (rejected although same parameters are working fine with the MSQL 8 and 5 Drivers) Thanks |
|
@fbeaugra67 -- I believe your issue is a new one, and does not belong here on this long closed issue. If this comment does not bring resolution, PLEASE create a new issue here or a new thread on https://community.openlinksw.com. The issue I believe you're hitting is that Excel is launching as an You can get around this by going to the Finder, navigating to Please do let us know here, if this comment resolves the immediate issue.
|
|
@TallTed you're genius . |
|
I have to add that some of this issue still persists and here is what I did to get Excel working with MySQL ODBC: Background: On Big Sur 11.7.1, MySQL ODBC 8.0.31, iODBC 3.52.15, Excel 16.68 First, as previously mentioned in the thread, ensure you are running the same architecture for all components and can test your connection in iODBC (I had this issue at first) Next, Move your driver directory (library file and all dependencies) to /Library/ODBC. For me this was Finally, be sure and update your |












I've macOS High Sierra 10.13.3. Using the package installer I installed the most recent iODBC Administrator 3.52.12 and the MySQL Connector ODBC 5.3.10.
After setting up a test database in MySQL and verifying that it all works well using Sequel Pro, I setup a user DSN in
iODBCAdministrator.appfor that database. The iODBC test of the DSN fails with:If I move the driver files from
/usr/local/mysql-connector-odbc-5.3.10-macos10.13-x86-64bit/libto~, I get the previous IM003 error followed by this additional error:If I open
iODBCAdministrator64.appit works. But when I switch to Excel 2016 and I go on Data > Get External Data > From Database and I select the same DSN file, I keep getting the usual:Any ideas?
The text was updated successfully, but these errors were encountered: