Openrowset "Could not find installable ISAM.". for Excel Import

  • Hi,

    I am trying to import data from an excel spreadsheet (2003) into SQL SERVER 2005 using openrowset on Windows Server 2003 SP2.

    SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

    'Excel 8.0;Database=C:\ImportFile.xls', 'SELECT * FROM [Sheet1$]')

    The query has been working fine for a few weeks then recently we started to get this error:

    OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "Could not find installable ISAM.".

    Msg 7303, Level 16, State 1, Line 1

    Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".

    The same error occurs when we use Opendatasource (with the correct syntax for opendatasource) instead of Openrowset.

    We’re not too sure on why this has stopped working, the source file has not been changed in any way and the file is on the same server as SQL SERVER. Also files that were working previously no longer work as well.

    We have applied the latest service pack 4 to sql server 2005, and even tried restarting the server and the MSSQL Service.

    Any Help appreciated.

  • Might as well move to the latest ACE provider:

    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displaylang=en

    Sample query:

    SELECT *

    FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',

    'Excel 12.0;Database=C:\sample_file.xlsx;',

    'SELECT * FROM [Sheet1$]') ;

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • Hi,

    We've managed to find a solution to the issue.

    One of the issues was related to this, http://support.microsoft.com/kb/209805. Specifically in the registry, it looked like an unrelated update had deleted this dll "Msexcl40.dll" from the registry.

    Microsoft ExcelHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

    After we added it using "Regsvr32 c:\winnt\system32\msexcl40.dll" (with the correct path to the dll) the openrowset query worked fine.

    Also we noticed that you needed to have SP4 for 2005 installed as well since we added the missing registry entry to two servers and one still only had SP3. After the SP update they both worked fine even though there were no notes in the SP 4 update relating to excel or access dlls.

    Thanks

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply