Could not find installable ISAM RRS feed

  • Question

  • I used the following code to try to read data from excel file in an ASP.NET web application, but failed and got the error message "Could not find installable ISAM" when the statement objConn.Open() was excuted.

    string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\StbBook.xlsx;Extended Properties=Excel 8.0;";
    OleDbConnection objConn = new OleDbConnection(connString);
    objConn.Open(); //Error was thrown at this point.

    I used and excel2010.

    Need I do any configuration in ODBC Data Source Administrator or anywhere else?

    I will very appreciate for your help.

    Thursday, September 2, 2010 6:47 AM


All replies

  • Jet OLEDB does not support Excel 2007 and Excel 2010 file formats. You need to install ACE OLEDB provider for it. You can find download for it here

    Val Mazur (MVP)
    • Marked as answer by liurong luo Monday, September 6, 2010 2:07 AM
    Thursday, September 2, 2010 10:12 AM
  • In addition to what Val mentioned, below are connection string examples for Excel 2007 or higher:


    Paul ~~~~ Microsoft MVP (Visual Basic)
    Thursday, September 2, 2010 2:39 PM
  • I have installed the latest build of AccessDatabaseEngine_X64.exe because that the local machine is a 64bit OS(Win7).

    Now, I got the error message "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine" when objConn.Open() was excueted.

    I googled it and changed "Active solution platform" to x86 which can't solve this issue.


    Friday, September 3, 2010 8:26 AM
  • Can you post the connection string you are using right now?
    Val Mazur (MVP)
    Friday, September 3, 2010 10:16 AM
  • If you installed the 64-bit version then the Platform should be set to Any CPU.

    Paul ~~~~ Microsoft MVP (Visual Basic)
    • Marked as answer by liurong luo Monday, September 6, 2010 2:07 AM
    Friday, September 3, 2010 7:57 PM
  • The connection string I am using is as follows.

    string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= c:\StbBook.xlsx;Extended Properties=Excel 12.0 Xml;HDR=YES";

    and I have changed the platform setup to "any cpu".

    I still got the error message "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine" when the objConn.Open() was excueted.

    BTW, objConn is instantiated by the following code.

    OleDbConnection objConn = new OleDbConnection(connString)

    Any help will be very appreciated.


    Monday, September 6, 2010 7:50 AM
  • You need to put all the properties that follow Extended Properties into additional double quotes, otherwise connection string is not valid, something like

    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= c:\StbBook.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES""

    Val Mazur (MVP)
    • Proposed as answer by Walter BK Monday, May 26, 2014 6:27 PM
    • Unproposed as answer by Walter BK Monday, May 26, 2014 6:28 PM
    • Proposed as answer by Walter BK Monday, May 26, 2014 6:36 PM
    Monday, September 6, 2010 1:35 PM
  • I have changed the connection string per your suggestion.

    string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= c:\StbBook.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES""";

    But I still got the error message "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine" when the objConn.Open() was excueted.

    I want to mention it that the OS is 64bit, Win7. and after installing AccessDatabaseEngine_X64.exe, I didn't do any other configuration.

    so, did I miss any configuration?


    Tuesday, September 7, 2010 1:46 AM
  • No, it should work fine after that unless installation failed for some reason. Are you sure that application is set to AnyCPU? If you only need to read data you can also try to use Excel reader from my web site. It is .NET Managed provider for Excel and works in both 64- and 32-bit modes automatically.
    Val Mazur (MVP)
    Tuesday, September 7, 2010 10:10 AM
  • This is clearly one of those questions where no one at MS really knows or there are many possible problems, each with its own solution. I have the exact same application, one running in production and one in dev and one gives me this error and the other doesn't. Same connection string in both. This is a configuration or server problem of some kind, I think. It would help if someone knowledgeable explained a) what an ISAM is; and b) if one can't be found, where is the system looking for it and where can one obtain an installable ISAM and how would it be installed?

    G. Steele at Sedgwick

    Friday, September 7, 2012 8:59 PM
  • After I installed Access Database Engine 2010, it gave me  following error.

    The 'Microsoft.ACE.OleDB.12.0' provider is not registered on the local machine. 


    Monday, September 24, 2012 5:02 PM
  • OK. I figured out the issue.

    I installed Access Databaes 2010 64-bit as I have 64-bit version of Office 2010 installed. I changed the target platform of the project to Any CPU. 

    I also realized that I did some mistake in connection string. Following is the correct connection string.

    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|filename.xlsx;Extended Properties=Excel 12.0"

    Then I was able to successfully open the connection. 

    Yahooo... . :))


    Monday, September 24, 2012 5:38 PM
  • Wow!!!!!!!

    The double quotes do the trick! Thank you so much.

    Though I must admit I am a beginner in Visual Studio, I must say I have been looking around on the internet for several days already, trying this and that, nothing worked.

    I wonder where you got your knowledge from?

    NEVER, NEVER, would I come up with this as the (simple) solution to this issue.

    Once more, thank you so much!

    Monday, May 26, 2014 6:35 PM
  • Guys, I'm working on x64 Windows 7 with a x32 Office.

    I Installed x32 Microsoft.ACE.OLEDB.12.0.

    With my VBA code which is attempting to get data from an Access file, I'm getting the error 'Could not find installable ISAM.'

    Should  i install the x64 Microsoft.ACE.OLEDB.12.0? If so, how do I set the platform to Any CPU in VBA (I'm not working on Visual Studio)

    Any help will be appreciated.

    Tuesday, June 17, 2014 6:05 PM
  • Not sure which version of Office you have installed but you generally would not need to install the ACE OLEDB Provider for version 2007 or higher. If 32-bit is installed then I suspect you may have an issue with your connection string.

    Paul ~~~~ Microsoft MVP (Visual Basic)

    Tuesday, June 17, 2014 6:51 PM