locked
ACE provider large excel file RRS feed

  • Question

  • User1661160222 posted

    I have a web application on which users can upload xslx files. The file is then being saved after which it is being read. The data in the file is shown to the user.

    Now, for a file lower than and equal to something around 2MB, everything works fine. Out of this we can conclude that there's no wrong connectionstrings/etc. When uploading an xlsx larger than 2MB however, an error occurs:

    No error message available, result code: E_FAIL(0x80004005).

    And the error occurs on "connection.Open()"

    I've already done a lot of surfing to figure out a solution and the furthest I have come is to this topic on msdn:
    http://social.msdn.microsoft.com/Forums/en-NZ/adodotnetdataproviders/thread/4d1eeb6d-436d-4595-8645-fde90b2f9b18
    out of which the thing to remember is:

    "Since the Excel 2007 openxml format is zipped xml so the ACE driver OLEDB needs to read the whole file to unzip it. If the file is too large for the memory buffer, it gets cached out to disk and the location it uses is Temporary Internet Files for whatever user the app is running as. In the case of my customer, the web app is running as Network Service which means (we found this by using procmon):

    C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.MSO. To work around this, we manually created the Content.MSO directory and gave Network Service modify permissions to Content.MSO. ”

    The OS on the server where the application runs on is windows server 2008 and so far I have not been able to figure out which folder doesn't have the correct security settings.


    An alternative for the ace oledb provider might be usefull as well - in case the above won't be solved.

    Monday, November 15, 2010 11:01 AM

All replies

  • User1691262954 posted

    Did this problem get solved? I'm looking for a solution. Thanks!

    Wednesday, October 5, 2011 1:21 PM