Help needed with ODBC connectivity on Mac - Informix database


#1

Hello, we are having basic issues getting the Mac version 7 ODBC driver to connect to our single database. We are running Mac OS Mojave 10.14.2, are using Informix Database Engine v 11 and are accessing data via Excel - running on Office 365 version of Excel (64 bit) All works fine from Windows based Excel, need to get a few Macs connected. I am an Apple Consultant (But Microsoft Certified too) helping my client with this, so I don’t have direct access to the servers or Macs involved. Just wanted to mention that. Will someone please verify which exact Java version to install and where to get it? Apple does not have a Java 8 installer for Mac OS, so I would assume to grab it from Oracle website. Does 8u202 work or should I use 8u201? I will post the exact error we are getting when the client sends it to me. It leads us to believe that the driver is not even loaded when we try to test connectivity. So, if I have to uninstall and reinstall after installing Java, perhaps some review on that part for now would be appreciated so I can get this implemented properly. I have to walk an onsite admin through every step. He knows the ODBC connection settings but just need help with perhaps the advanced settings. Thanks for your help!!


#2

Hello –

As I noted in previous email –

Tying this into the above…

  1. Assuming you are indeed working with Express Edition, you are correct that the driver is not loading before the error message is delivered. That is because it depends on loading Java, which is apparently not available.

  2. You need not uninstall the Express Edition ODBC driver before installing or upgrading to Java 8; just re-install the ODBC driver after installing Java 8.

  3. You can get the Java 8 Runtime (JRE) from java.com. To get the Java 8 Developer Kit (JDK) (if required for other reasons; we do not require the JDK), you have to go to Oracle’s site. In either case, 8u201 and 8u202 (only presented on Oracle’s Developer-focused site) are all-but-exactly the same; either will be fine.

  4. Detailed installation and configuration instructions for the Express Edition ODBC Driver for Informix are found at the following locations –

    1. Pre-Installation Requirements
    2. Installation and Configuration
    3. Basic Testing

Please let us know how it goes!


#3

I’ve now reconnected with our client and have installed JRE 8 as mentioned, also reinstalled the v7 Express driver for Mac, since we are running a 64 bit version of Excel, I chose that v7 driver and have asked the I.T. Admin to set up a test connection since he is the only person with knowledge of those items. So far, we are getting the same error. I am going to try to attach screen shots to explain. If I can’t the error is: “IM003” [iODBC] [Driver Manager] Specified driver could not be loaded" This is a basic connectivity failure, or it would seem that way. Further help is appreciated since we cannot even get the basics here. When setting up the DSN, we chose the v 7 Express driver, the second in the list, not the first one. The advanced preferences and settings were left at default. Thanks for your help!


#4

Please ensure that you’re using the 64-bit iODBC Administrator64.app (not the 32-bit iODBC Administrator.app) to configure and test your DSN before moving to testing with Excel.

“The second in the list” doesn’t tell me much, though I can make an educated guess that this means you’ve chosen the OpenLink Informix ODBC Driver (Express Edition)(Unicode) v7.0 and not the OpenLink Informix ODBC Driver (Express Edition) v7.0. That should be fine, but it is worth noting that this driver should generally be selected only if you’re working with “wide” (also known as “multi-byte”) character data, including but not limited to Unicode. The other driver is generally better, due to lower character translation overhead, if working with “narrow” (also known as “single-byte”, “8-bit”, or “7-bit”) character data.


#5

Ted,
We are using OpenLink Informix ODBC Driver (Express Edition) v7.0 and the 64 bit iODBC Administrator64.app to set up the db connection. This is as your suggestion stated earlier. This is not hard to follow and it has been done exactly as you mentioned. When we test the DSN connection it throws that error and has done that since before I installed the latest Java and reinstalled the v 7 Express driver. I dont see other v7 versions for mac though, so that makes it easy as well. We don’t need multiple database instances here. I’ve manually tested that the port our database is using is open and accessible from the Mac. Don’t know where to go from here.


#6

The “Specified driver could not be loaded” message comes very early in the process, long before the network or any connection attributes get involved.

This error usually indicates a driver library (or a library on which the driver depends) is missing, has mismatched bitness, has been corrupted, or has incorrect permissions set. None of those should be the case, in your environment as described.

That said, the best path to a clean state on this Mac would be to –

  1. Remove all our drivers –
    sudo rm -rf /Library/ODBC/*OpenLink\ Informix*Express*

  2. Follow java.com guidance to remove all current Java installations, both JRE and JDK

  3. Install (or reinstall) Apple’s Java 6 (which is the Java 6 JDK).

  4. Install (or reinstall) either the Java 8 JRE or the Java 8 JDK.

  5. Reinstall the Release 7 Express Edition ODBC Driver for Informix.

  6. Create and test a new System DSN with the iODBC Administrator64.app. If this test is successful, then proceed to test with Excel 2016.

Please let me know if this improves your experience as expected. If not, I’ll need to review the ODBC configuration files –

/Library/ODBC/odbc.ini
/Library/ODBC/odbcinst.ini
/Users/*/Library/ODBC/odbc.ini
/Users/*/Library/ODBC/odbcinst.ini
/Users/*/.odbc.ini
/Users/*/.odbcinst.ini

The last two of these should be symlinks to the preceding two; if either is a physical file (as various third-party tools sometimes create), I’ll need its contents, as the files should be blended, and the correct symlink put into place.


#7

Thanks Ted. I was thinking I might have to do just this. Interesting you require JDK 6 AND JRE 8. And strangely enough I did install Apple’s legacy JDK 6 before JRE 8. However since I am taking over this issue from someone who probably does not know the Mac very well, I will proceed with your instructions and report back. Thanks for hanging in there with (me) us. My client is trying to replace PC’s with Macs and he has to get this working.


#8

We don’t actually require JDK 6 AND JRE/JDK 8. Re-installing both is just the easiest way to address some things that happen if both have been installed previously. Hopefully my earlier guidance will resolve things in your case…


#9

@mccaffrp – Checking in on this…

Have the steps I provided a couple weeks ago allowed you to get things working?


#10

I replied via email, probably didnt show up here. No the steps did not help. What I have done is to try this on a completely different computer with a fresh OS. Our client, Steve DuBose does not want to wipe his computer to start with a fresh OS, so I went onsite to his location and registered for a new license and installed everything on an external SSD with a fresh OS that never had Java on it before. I tried to create a DSN, connection still shows the same error. Steve DuBose was contacted by someone else from your company about how his trial was going and offered to help. But then his reply was to ask our client to register for support and create a ticket, which I helped him with. Your support web interface is quite old and does not have a place to enter the current Mac OS nor does it have a place to choose “Express ODBC for Informix” v 7. So we put that in the notes. I will reply to that ticket instead of here, since Steve will be the one purchasing the software if it will work. We understand…64 bit Admin app, v 7 driver, etc. I will need to do this again on his own Mac and will provide you with the files you requested. Just confirming, you want us to copy the actual .ini files and zip them up…


#11

Hello Ted,
Since I am the one interpreting the details of the problem here, can I ask you this: For item # 1 about connectivity to the Unix server - I will have to ask the company I.T. person to run those commands to check for sockets or shared memory only connections. I assume to use the Openlink driver, it requires the server to allow sockets based connections? There is no reference to that in your documentation, it just moves along to the next item, installation and config. If our clients’ server is not configured to allow sockets based connections, will the error still show up as “driver not loaded”. This is misleading of course, but nonetheless need to confirm this basic info. Thanks.


#12

The “driver not loaded” error will not result from the Informix server running in a shared-memory-only configuration. Such configuration would prevent the Express Edition driver from connecting once loaded, but that error message would be different.

The documentation has just been updated to reflect that Shared Memory connections are not possible with Express Edition. Adding Sockets configuration to an existing Informix instance is not difficult, and will not disrupt Shared Memory configurations (though it does require an instance relaunch to take full effect). If the Informix instance is configured only for Shared Memory connections and this cannot be changed, the only option for connections from ODBC applications on macOS is our Enterprise Edition, with some of our components being installed directly on the Informix host.

I now see that case #22571 is associated with this thread, and I will bring further follow up there.