Connection Fails for Win 8 64 bit ACCESS 32 bit, Access Database Engine - ms-access

Environment: Win8 64 bit, Office 2010 32 bit. Using tips seen here, I installed AccessDatabaseEngine_x64.exe as passive (so that it could be installed with 32 bit Office), and had no connection problems with Access .mdb files until two days ago. Now the connection fails on all .mdb files, with C# debugger showing "unknown error" with "external component". Connection string uses ACE 12.0. I changed nothing in code, which was compiled for 64bit.

Related

pyodbc and MS access - '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') [duplicate]

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.

Front end (installed Access 365 32 bit with ODBC MySql BE) won't open for 64 bit users

My development computer has Installed 32-bit Access (Office 365). I now have users with 64-bit Access who cannot open the application. Is there any way to install 64-bit (either Runtime or full) for debugging purposes? So frustrating!
You have to convert your application to 64bit Access
This is done by obtaining a Ms Access 64bit (Office) ..opening your application on it and working out any bitness differences.. and of course providing the appropriate driver for MySQL : https://cdn.mysql.com//Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.14-winx64.msi

ODBC Connect to Oracle 64bit from MS Access (Using System32\odbcad32.exe)

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/

Statement's odd behaviour

I've had an odd behaviour last week with a if condition and I would thank any one who has any idea of what had happened. Although I've found a workarroud I don't like to be in the shadows.
Let me explain.
Scenario 0 (this was working before everything exploded)
Langauge: Visual Basic
Net Fwk: 3.5
Client: XP (x86) machine (Winforms)
Database: Access on a Shared Folder of a Win Server 2008 (don't know if x86 or x64)
DB Provider: Jet OleBD
Office: 2007 x86
Why Access?
Low cost, MS Access available for the user and it fits all I needed.
And one day Win7 appeared:
Scenario 1 (here is when everything stopped working)
Langauge: Visual Basic
Net Fwk: 3.5
Client: Win 7 (x64) machine (Winforms)
Database: Access on a Shared Folder of a Win Server 2008 (don't know if x86 or x64)
DB Provider: ACE OleBD x86
Office: 2010 x86
In this new scenario, the application started to work wrong.
And the odissey begins.
First I tested the application on my development machine. The scenario was similar to Scenario 0 so everithing worked ok.
Then I started a Win7 test machine and tried to find if I could get where the problem was:
Scenario 2
Langauge: Visual Basic
Net Fwk: 3.5
Client: Win 7 (x64) machine (Winforms)
Database: Access on a Local Folder
DB Provider: ACE OleBD x86
Office: 2010 x86
I Test the application and everything works fine.
After crying like a baby for 2 or 3 minutes, I decided to connect to my customer's server through internet using my Win7 test machine.
Scenario 3
Langauge: Visual Basic
Net Fwk: 3.5
Client: Win 7 (x64) machine (Winforms)
Database: Access on a Shared Folder of a Win Server 2008 (don't know if x86 or x64)
DB Provider: ACE OleBD x86
Office: 2010 x86
Amazed the same application I run against my local DB, fails against the remote db (just changed the connection string in the config file).
I've started adding debug statement to the application and tested one and again so I could find why it doesn't work as spected.
Finally, I found that the statement
If FinalDate.Subtract(StartingDate).TotalDays + 1 = 7 Then
returns always False in Scenario 1 and 3 (ALWAYS!). And True or False in Scenario 0 and 2.
I've damned Thor and tested this change to the statement
Dim totalDays As Integer = CInt(FinalDate.Subtract(StartingDate).TotalDays)
If totalDays + 1 = 7 Then
As you imagine, this works fine.
But the question is "Why?".
WHY????!!!!
Any idea?
TotalDays:
Gets the value of the current TimeSpan structure expressed in whole
and fractional days.
So if you only need whole-days then it is safest to cast to Integer anyway, and avoid any possible concerns about the time-part.

SSIS access provider

I'm building an SSIS package on Microsoft Visual Studio Ultimate 2012 Trial Version to import an access database, but I can't see the correct provider (Microsoft Office 12.0 Access Database Engine OLE DB Provider) from the drop down when creating the connection string. I downloaded the AccessDatabaseEngine_x64 since the installed MS Office is a 64bit, I still can't see this provider that I'm looking for. I'm building this SSIS package on a Windows Server 2012 64 bit machine.
I need to know what I should do to be able to see this provider.
Can somebody help.
OK. this is mostly assumption but holds true for database drivers. I will quickly be downvoted if this is incorrect.
I assume your version of Microsoft Visual Studio Ultimate 2012 is a 32 bit app, so you cannot see 64 bit drivers.
Regardless of what type of install of Office you have, it will create an output file, and that file does not have 'bitness' - i.e. the same file is produced regardless of whether your office app is 32 bit or 64 bit.
You just need to match your SSIS runtime with your driver. So if your SSIS package will be running in 64 bit, you need a 64 bit driver to access an Office file.
If it will be running in 32 bit you need a 32 bit driver.
Normally you just install both versions, develop in 32 bit and run in 64 or 32 bit.