I need to connect to a 64 bit Oracle server via ODBC in Microsoft Access. I have installed the 64 Bit ODBC drivers and set up the DSN using the System32\odbcad32 file.
The registry is pointing the driver towards:
C:\app\erahn\product\12.1.0\client_3\SQORA32.DLL
I cannot validate online that SQORA32.DLL is the 64 bit driver; the install package was the 64 bit version so I am assuming that it is.
I did not have luck connecting to the server using the 32 bit drivers either (Test connection would not work), so I am at as loss for what could be holding me back.
Any help would be greatly appreciated.
Eric
I made it work... after 100s of attempts looking everywhere.. This may be of no use to someone.. but if all else fails for you... try it.
I am on Windows 7, 64 Bit.. using Access 64 Bit..
just download these 2 files... from http://www.oracle.com/technetwork/topics/winx64soft-089540.html
Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications
Download instantclient-basic-windows.x64-11.2.0.2.0.zip (53,669,935 bytes)
*Instant Client Package - ODBC: Additional libraries for enabling ODBC applications
Download instantclient-odbc-windows.x64-11.2.0.2.0.zip (1,356,558 bytes)
Remember download only 11.2.0.2.0 (for me all other version did not work and had numerous issues).
then follow directions from here:
http://celemotan.wordpress.com/2008/10/22/instantclient/
Related
My Softwares:
Python 3.4 -64 bit
PyODBC 64 bit
MS office package Installed (32 bit)
Problem:
Now, I try to access MS Access 2010 installed in my computer using PYODBC. It does not work regardless of what I try. My error is always this:
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
I already looked at:
pyodbc and ms access 2010 connection error
Cannot connect to Access DB using pyodbc
It is suggested that it is 32-64 bit problem which I am sure it is. Is there some modification that can be done to make it work without installing 32 bit python and 32 bit pyodbc? I checked this website.Using ODBC (32-bit and 64-bit) on 64-bit Windows which explains about accessing the control panel to modify ODBC connnection and/or drivers. However, I don't know much about windows database connection internals to commence some changes.
Is there something that I can do to make it work?
Is there some modification that can be done to make it work without installing 32 bit python and 32 bit pyodbc?
Not really. If you have 32-bit Office installed then you have the 32-bit version of the Access Database Engine (a.k.a. "ACE"), and only 32-bit applications can use it.
The installer for the 64-bit version of the Access Database Engine will abort if it detects 32-bit Office components. There is a way to force the installer to continue, but that is not recommended because it can apparently break Office.
Bottom Line: The "bitness" of your application must match the "bitness" of the installed Access Database Engine. So, practically speaking, your options are
Use 32-bit Python and pyodbc, or
replace your 32-bit Office with the 64-bit version.
I have a 32-bit application that uses a UDL file to connect to a mySQL database on a different host. This 32-bit EXE is running on a Windows Server 2012 R2 VM. There was a HDD failure and I'm reconfiguring the system to connect to the database, so I know this configuration should not be so troublesome.
A snapshot of what is true:
MySQL ODBC Connector (32-bit) 8.0.23 is installed.
I created the connection with a unique DSN in the 32-bit ODBC admin panel.
Testing the connection through the 32-bit admin panel works fine (I can see the schema, etc.).
Here's where things start getting fishy:
When I open the UDL file my application uses to start the connection, the 32-bit DSNs don't show up. If I type them in manually, I get the 'architecture mismatch' error that everyone seems to agree actually means 'bitness mismatch' (If I create a 64-bit DSN, they show up and ping the DB no problem.)
I found this trick to open the UDL file using the 32-bit ODBC driver:
OLEDB is very similar in that there is a 32 bit version and a 64 bit version of the providers. The easiest way to configure and OLEDB data source is to create an .UDL file on the operating system. By double clicking on the .UDL file you will see the OLEDB providers for the 64 bit side of the operating system presented in the Data Link Properties dialog. To get to the 32 bit version of the OLEDB providers you need to execute the following command line from a command shell.
C:\Windows\syswow64\rundll32.exe "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile C:\test.udl
...And that works! I can see the 32-bit named connections. The 'Test Connection' button produces happy output. But when I run my application, it does not connect using the DSN/credentials of the UDL file. It behaves like it is still trying to call the 64-bit version of the ODBC driver.
If my assumptions are correct, then how do I get my EXE to prioritize using the correct (x86) 32-bit oledb32.dll? Compatibility mode didn't fix my issue and I've run out of "clever" ideas to try.
Thanks in advance for any suggestions!
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.
I am trying to connect MS Access with a local mySQL database.
To do this I downloaded the mySQL ODBC connector from the mySQL website and installed it. As I am on a 64-bit system I went for the 64-bit version.
I then discovered when trying to connect Access to mySQL that my installation of Office is actually 32-bit so the driver doesn't work. So I removed the 64-bit ODBC driver and installed the 32-bit one.
Problem is, when I go into control-panel -> Administrative Tools -> Data Sources (ODBC) and try to add a new data source, the only options for the mySQL drivers seem to point to the old directory where the 64-bit drivers were. It then fails as it can't find the dlls with system error 126.
How do I get it to show the 32-bit drivers?
Run the 32-bit manager by running this command:
c:\windows\syswow64\odbcad32.exe
Also you can use RegisterDatabase() function to create connection from your code.
I wrote wrapper function many years ago:
http://5codelines.net/kak-programmno-sozdat-odbc-dsn/.
Just skip russian language and use the code.
Prior to installing the ODBC MySQL driver 5.2.6 you need to install the Microsoft Visual C++ 2010 Redistributable Package for x64 or x86 or both (just search the Microsoft site for these and download from there). Other driver versions may require different versions of this MS VC++ Redist. Package, which can coexist side by side. By default server 2008 R2 comes with the 2008 version, so installing the 2010 is required. Before installing check in Programs and Features if not already installed. Depending on you application it may require the 32 bit or the 64 bit version. Without it you get the system error 126
Then install the drivers:
To install the 32 bit version run as administrator c:\windows\syswow64\odbcad32.exe which is the 32 bit version of "Data Sources (ODBC)"
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.