Error in create access database?

2019-07-30 08:26发布

问题:

I have a web application that create an access database. When I want to create this database, I add Microsoft.Office.Interpob.access.dao.dll from COM references. This application work in my pc very well. But when I put this application in the customer server I get this error:

Retrieving the COM class factory for component with CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} failed due to the following error: 80040154

Note that the Microsoft Office Access is not install in customer server. Must I Install this program on this server or can I add some dll to resolve this problem or I have to do anything else?

Thanks.

回答1:

Check out these links, they might help:

  • social.msdn.microsoft.com - "Error 80040154 retreiving COM Class factory"

  • asp.net - "Retrieving COM class factory failed due to the following error: 80040154"

  • software602.com - "KB987: Error code 80040154. Class not registered"



回答2:

I know this is a little late for the the original poster, but hopefully this will be useful to others. The correct answer is:

No, you don't need to install Microsoft Office Access on the server.

But, you do need to install the Microsoft Office Access Runtime on the server. From my limited experience it doesn't seem to matter which office runtime - I had the 2013 runtime installed locally but when I installed the runtime on my server it was fine with the 2016 runtime (so both installed the required COM object). In my case I was installing the x64 version.

The Microsoft Office Access Runtime is free from Microsoft.

The Microsoft Access 2013 Runtime can be downloaded from: https://www.microsoft.com/en-gb/download/details.aspx?id=39358

The Microsoft Access 2016 Runtime can be downloaded from https://www.microsoft.com/en-gb/download/details.aspx?id=50040