2

Hi I am getting a problem like this while uploading filetype .xls "Error in excel file:The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."

I am using following system versions:

  1. 64-bit Operating System( Windows 7).
  2. 32-bit Office of which I have attached screen shot.
  3. Trying these for .aspx pages in C#.

I have tried following:

  1. Downloading 32 and 64 bits of Microsoft.Jet.OLEDB.4.0 from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255.

  2. Tried IIS Edit Application Pool > Advanced Setting > Enable 32-Bit Applications :True.

BUT BOTH OF THEM ARE NOT WORKING FOR ME. DO ANYONE HAVE GOT AN IDEA?

containt of Image mentiontioned are here:

Microsoft Office Professional Plus 2010

Version: 14.0.4760.1000(32-bit)

George Brighton
  • 5,131
  • 9
  • 27
  • 36
prashiddha
  • 49
  • 2
  • 5

4 Answers4

4

If you installed Office 32-bit, then you need to install the Access Database Engine 2010 64-bit on the machine, but there is a trick to install it. See here about the 'passive' argument: Microsoft Access Database Engine 2010 Redistributable

Simon Mourier
  • 132,049
  • 21
  • 248
  • 298
  • Thanks Simon Mourier, I tried your suggestions and it worked for me. – prashiddha Sep 23 '11 at 05:12
  • Really thanks to all But I didnt had time to try of all the suggestions except of Simon Mourier. – prashiddha Sep 23 '11 at 05:14
  • wow this has been driving me crazy for a LONG time - finally found this question with my exact problem! thank you so much for solution that finally works. – Karen Aug 25 '14 at 18:39
0

You need to install Microsoft Access Database Engine Redistributable in your (target) machine and the connection string should be changed accordingly.

Refer to the following links:

http://blogs.msdn.com/b/farukcelik/archive/2010/06/04/accessing-excel-files-on-a-x64-machine.aspx

http://www.microsoft.com/download/en/details.aspx?id=13255

Hope this helps...

Dulini Atapattu
  • 2,735
  • 8
  • 33
  • 47
0

OleDB does not have any 64bit drivers (its annoying I know), and 32bit drivers are not compatible with 64bit OS AFAIK

http://social.msdn.microsoft.com/Forums/en-GB/netfx64bit/thread/d2d33cfd-ed81-490a-906e-b9e29d572b59

Edit: you are using 32bit office... that should work with 32bit drivers. Ignore this post then.

Daryl Teo
  • 5,394
  • 1
  • 31
  • 37
0

By default a .NET program is compiled to Any CPU which gets translated to 64bit at runtime. For 64bit there is by default no driver installed.

One common solution is to compile explicitly for x86, such that the program uses 32bit OLEDB.

Sascha
  • 10,231
  • 4
  • 41
  • 65