MySQL ODBC driver installation error - mysql

When listing the ODBC drivers in iODBC, the MySQL drivers don't have any version numbers next to them. If I click on them to configure, I get an error saying "General Installer Error".
I've tried reinstalling the drivers via the oracle mysql connector installer, but no luck. Any idea what could be wrong here?

A version of ##.## here indicates that iODBC couldn't fully load the driver to interrogate it about its version. Among other installation errors, this may mean the driver library (and/or a library on which it depends) has incorrect permissions set, or there may be some library incompatibility at some layer.
Further troubleshooting would require review of the ~/Library/ODBC/odbcinst.ini (User) and/or /Library/ODBC/odbcinst.ini (System) driver registration files; screenshots of the columns not visible here (note the horizontal scrollbar); output of otool -L against each of the driver libraries in question; and/or other information. Such troubleshooting is not appropriate for this site; I would recommend pursuing assistance through the driver provider.
Worth noting -- my employer maintains and supports iODBC, and offers alternative ODBC drivers for MySQL; you may want to take advantage of the free two-week trial.

Related

Mysql ODBC connector not available in stamps.com datasource

Today, we upgraded stamps.com software to version 17.5. This build requires that ODBC drivers be 64bit. I didn't think that was a problem. System is 64bit, and downloaded the latest MySQL ODBC 64Bit version 8.0.22. ODBC Data Source Administrator loads up, and I can access it. I create the datas ource (tested) but when I try to assign it via Stamps.com I get the error...
"Unable to connect to the selected data source. Check if you need to add a Username and Password"
Odd. Again, I can test connection via ODBC Data Source Administrator. It selects the proper database, etc. The driver is MySQL ODBC 8.0 ANSI Driver (Version 8.00.22.00).
If I try to "Create a new data source" via Stamps.com. Click 'Other/Advanced (SQL,etc)' and click 'Add', I do not see any MySQL drivers anywhere the options.
I've completely uninstalled re-installed 8.0.22 multiple times.
ADDITIONAL INFO
If I don't try to create a new DSN through Stamps.com but rather select an existing one, but click 'configure'. I get the following errors.
"The setup routines for the MySQL ODBC 8.0 ANSI Driver ODBC driver could not be found. Please reinstall the driver."
Followed by..
"---------------------------
Driver's ConfigDSN, ConfigDriver, or ConfigTranslator failed
---------------------------
Errors Found:
The specified DSN contains an architecture mismatch between the Driver and Application"
So it seems like the MySQL ODBC driver is still 32 bit? I clearly installed 64 bit, and the system is 64 bit, so not sure. It's possible the original ODBC driver was 32 bit from a year ago, but like I mentioned, I have removed those .dll via uninstall.
ADDITIONAL INFO 2
I'm wondering if I'm chasing the wrong 32 bit application. Under ODBC Data Source Administrator, in the About tab,
For About the ODBC core components..
Administrator C:\Windows\system32\odbccp32.dll
Control Panel Startup C:\Windows\system32\odbcad32.exe
Cursor Library C:\Windows\system32\odbccr32.dll
Driver Manager C:\Windows\system32\odbc32.dll
Localized Resource DLL C:\Windows\system32\odbcint.dll
Unicode Cursor Library C:\Windows\system32\odbccu32.dll
So it looks like the 'core' for ODBC is 32 bit? Looking into how to update these for 64bit. Hmmm... based on my initial research, those .dll/.exe are 64bit since they're in system32 and not in sysWOW64. Seems counter intuitive?
Any suggestions?
After contacting support, they informed me that ODBC is not supported with 17.5. So not sure - why I needed to upgrade to 64bit, and why it states that my ODBC drivers need to be 64bit, since it's not compatible.
Here is what needs to be done. Download Stamps clean tool:
https://support.stamps.com/outgoing/clean.exe
Then run key tool to remove any registry values:
https://support.stamps.com/outgoing/key.exe
Then finally, you need to install version 17.4
http://support.stamps.com/outgoing/stamps174.exe
Roll back to the 32bit ODBC drivers.
After this fiasco, we've implemented better protocols. Basically secondary machine with Stamps.com running on it and will test future updates there before rolling out to our primary production machine.
We are in the same boat.... after updating to the Stamps.com version 17.5 we have been unable to get our ODBC MySQL server connection working.
We have tried all combinations of older vs new 64 bit MySQL drivers. We have tried installing the 32-bit version of Stamps 17.5. It actually allows us to configure the connection and select the correct tables and columns we want, but when we trigger a lookup we get an error saying 64bit drivers are required.
Same error on 32-bit Stamps.com vs 64-bit Stamps.com.
We are contacting stamps.com support now and I will update this when/if we find anything additional.
Is there a solution then for this? We were actually using for the past 12 years the old ActiveX solution - but you HAD to use MS-Explorer. So we were exploring using stamps.com ORDERS solution with MySQL ODBC. Tried both the 32-bit stamps.com app (with the 32bit ODBC drivers), and the 64-bit stamps.com (with the 64bit ODBC drivers). The 32-bit at least allow you to complete the field mapping - which tells me it was connected to the database to be able to read the schema. But when you go to actually IMPORT anything, you get the "...you'll need to install the latest 64-bit ODBC drivers..." which I have already tried.
If you download and use the 17.4 version (as suggested above), what happens when you MUST upgrade stamps.com (which does happen about once every 2 years when the USPS changes some fundamental stuff).
Any solutions anyone? We really want off our ActiveX/PDK (12 year old) solution.
Just ran into the same issue this week, albeit with the MS SQL drivers. Doesn't matter whether I install the 64bit or 32bit Stamps.com software (when the site will download the 32bit version at all... it doesn't for me at the moment, only 64bit). Either way, I get the message saying I need to install the 64bit ODBC drivers. And clicking "More info" just takes me to the home Help page, not to a related article. The article detailing 64bit ODBC is pretty useless since it just says you need to install the drivers, but you can view it here: https://stamps.custhelp.com/app/answers/detail/a_id/7244/kw/64-bit%20ODBC/related/1
I called support, and they said it's a known issue but that there's no workaround currently.
UPDATE 2/17/2021
I just talked to Tier 2 support, and there's a new version out the resolves the ODBC error. The download page still says 17.7, but it's actually 17.7.1. Installing it resolved the error for me and I am now able to import orders via ODBC. (I installed the 32-bit version at the recommendation of the support tech I spoke with, I have not tried with the 64-bit version.)
Also, the 32-bit download is working again.

Unable to import Access DB to SQL Server Migration Assistant for Access (32 bit)

I am trying to migrate 32-bit MS Access DB to SQL Server using SQL Server Migration Assistant (SSMA) 32-bit in my 64-bit Windows machine. The addition of Access DB to the migration project always fails due to the following error. The error message is suggesting to use 32-bit version of SSMA, which I am already using. What could be wrong?
Access Object Collector error: Database
Retrieving the COM class factory for component with CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} failed due to the following error: 80040154 Class not registered
(Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Please make sure that you are using the correct version of SQL Server Migration Assistant.
If you have 32-bit Microsoft Access installed, then you will need to use 32-bit version of the Migration Assistant.
In order to use 64-bit version of Migration Assistant, you will need to install 64-bit Microsoft Access components available at https://go.microsoft.com/fwlink/?linkid=834402.
An error occurred while loading database content
Your best course of action is to install the ACE data engine.
Installing recent verisons of Access WILL NOT WORK! Even recent runtime verisons!
Since Access 2013, an install of Access full (or runtime) does NOT install an exposed copy of ACE. Due to this confusing, they are reversing this policy, but with this confusing, and that for several years installing Access (full or runtime) would not work?
Then just go and install the ACE data engine. It is a smaller and lighter install then the Access runtime anyway.
So, use this link:
Microsoft Access Database Engine 2016 Redistributable
https://www.microsoft.com/en-us/download/details.aspx?id=54920
So just keep in mind that installing Access for the last few versions did not and does not install a exposed copy of ACE. You HAVE to install the ACE engine separate for use say from VB6, vb.net, c# or external software like SSMAA that requires a exposed copy of the ACE data engine. While Microsoft is in the process of reversing this decision (an Access full or runtime would expose ACE), the current situation is confusing, since you can try installing several versions of Access, and even runtime versions, and you will STILL NOT get a exposed copy of ACE.
Doing a quick search; do you have the proper Access Runtime installed?
Check out the link below:
https://techcommunity.microsoft.com/t5/microsoft-data-migration/access-connectivity-components-for-ssma/ba-p/391070
They suggest starting with 2016 and see if it works; if not, uninstall the runtime and try an earlier version.

'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine' without need to install Access Engine

I've written an app which uses OLE DB, and I've encountered the error from the title. I've installed the Access Database Engine as suggested in this question and all had become work well. However, I want to distribute the app among some users to their locale machines and I have been reported such a error from the testers which do not have this util installed.
Is there any way to embed the Access Database Engine into my binary as dll or, maybe, into installer? I do not want to say "to use my app, install that util please"
if your end-user computer does not have MS office or MS Access installed, you won't be able to use the ACE.OLEDB driver UNLESS you install the basic access runtime/databse engine. However, if your end-users have 64bit windows and 32bit office, you will get the same error. To over come this issue you need to change your app target platform to x86.
if you are using visual studio, on additional way would be to add "AccessDatabaseEngine.exe" as one of your prerequisite which will be then installed along with your software.
more about custom bootstrapper:
http://msdn.microsoft.com/en-us/library/ms165429.aspx

How do I connect to MySQL using 32/64-bit ODBC drivers from within SSIS?

I have written an SSIS package and I'm having trouble with connecting to the MySQL server.
Ive tried both .NET connector and ODBC and I've hit issues with both.
The .NET connector has a known issue with dynamic queries and gives an error regarding not finding column P1 (which is a variable).
The recommended route to get past this is to use ODBC to connect. When i use the ODBC connector i get an error regarding memory issues with connecting to MySQL.
I have installed both 64 and 32 bit ODBC MySQL drivers and setup my ODBC connection, but it doesn't fix my issue.
I have tried just entering a connection string, but this leads me back to the memory error.
When reading some online guides it mentions two different Data Sources needing to be setup, one for 32-bit and one for 64 bit, but in Windows 7 I cannot see a 64 bit Data Sources program?
I have also found people mention using a specific mysql.data.dll file but i cannot find this file nor where to put it or reference it.
Read the below Microsoft KB to find the executables location to configure the 32-bit and 64-bit ODBC data sources. You need to configure the appropriate ODBC source so you can view it in BIDS or make the SSIS package run within an SQL Server Agent job.
Microsoft KB 942976
32-bit version of Odbcad32.exe file is in %systemdrive%\Windows\SysWoW64 folder.
64-bit version of Odbcad32.exe file is in %systemdrive%\Windows\System32 folder.
System drive would be the drive where you have installed the operating system.

Portable ODBC connection driver

Is there any availability to make MySQL ODBC connection driver portable? I develop an application which uses MySQL ODBC ocnnection driver with TADOConnection and everything is working properly on developer's machine, there ODBC connection driver is installed. When I run this application on another machine (no ODBC driver installed) an error raises. Is there any opportunity to include necessary libs to program and make the project independent?
You can bundle the MySQL ODBC driver with your installer (http://dev.mysql.com/doc/refman/5.1/en/connector-odbc-installation-binary-windows.html), but remember that if you're using the free GPL connector you're bound to the GPL, thereby or you release your application (and code) under the GPL as well, or you're violating the MySQL GPL license. To avoid it, you can always buy a commercial license.
ODBC needs a driver since it is an API abstraction over existing database access libraries - see How to explain why ODBC requires a database driver
Since there is no standard way of installing a database driver, you'll have to rely on the driver instructions, which are specific.
For MySQL, if you launch setup -r it would install the ODBC provider silently.
The follow these steps to add your database connection: create mysql odbc connection through batch script