I hope I'm posting this in the proper location. I developed a small app that
connects to an Access database. I used C# and my development machine uses
Access 2003 and Windows XP. I'm connecting to the db using OleDbConnection.
When I move the app to the end user machine (Vista x64 and Access 2007) I get
an error when trying to connect to the db. It says "The
'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine."
Any ideas?
Thanks for any help, I really appreciate it.
Thanks,
Nick
You need to download and install this component:
#Download details: 2007 Office System Driver: Data Connectivity Components
http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-
9B72-EF94E038C891&displaylang=en
Regards,
Walter Wang (waw...@online.microsoft.com, remove 'online.')
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
Thanks,
Nick
Further research shows that the Access 2007 Database Engine currently only
has 32-bit support.
For a .NET assembly built for "Any CPU" (the default platform setting in
build configuration), when it's run on x64 system, the JIT compiler will
compile it as 64-bit procoess; and we cannot load the 32-bit provider
(driver) in a 64-bit process.
The workaround is that you have to compile your assembly as a 32-bit
process specificially:
1) in VS2005, menu "Build/Configuration Manager"
2) in the "Configuration Manager" dialog, select "<New...>"
3) in the "New Solution Platform" dialog, select "x86", press OK
Hope this helps.
That did it. Thank you very much for your help, I really appreciate it.
Thanks,
Nick
Currently there's no plan on this.
Hi Walter:
Is "The'Microsoft.ACE.OLEDB.12.0' provider is not registered on
the local machine." an OleDbException that you can catch? If not how
can you check on it to avoid a crash?
Thanks, Mihail
nice post by you. i am using Windows server 2003 x86, access 2007. i
developped a project and deployed on the production machine ( windows
server 2003 x64 and acceess 2007.)
it is saying some providers are not registered on local machine.
afte long search i saw this thread.
i did same way as you said, changed the platform to x86 and buid.
but the problem is, the dll or it's dependencies not found. i
installed that project dll in GAC. but same error message.
please help me out.
thanks
Praveen.
.
On Jul 30, 3:26 pm, waw...@online.microsoft.com (Walter Wang [MSFT])
wrote:
How you solved this problem,
nice post by you. i am using Windows server 2003 x86, access 2007. i
developped a project and deployed on the production machine ( windows
server 2003 x64 and acceess 2007.)
it is saying some providers are not registered on local machine.
afte long search i saw this thread.
i did same way as you said, changed the platform to x86 and buid.
but the problem is, the dll or it's dependencies not found. i
installed that project dll in GAC. but same error message.
please help me out.
thanks
Praveen.
.
> > This posting is provided "AS IS" with no warranties, and confers no rights.- Hide quoted text -
>
> - Show quoted text -
I am using VS 2008 on a Vista 64-bit system and am trying to run against an
Access2007 database, and getting the same error message. I've downloaded the
wil you recommended to make Access 2007 accessible, but am still getting that
error message. I assume that my problem is I need to compile this app as a
32-bit application as well. How do I do that in VS 2008?
--
Rod
It's the same steps as in VS2005:
1. Open menu "Build/Configuration Manager..."
2. Select "<New...>" in the "Active solution platform:" combobox
3. Select "x86" and click ok.