• Jeff Moden - Monday, March 19, 2018 9:39 AM

    Lowell - Monday, March 19, 2018 7:50 AM

    ok i was able to duplicate the error and a resolution. here's the tiny differences.
    I created am XLSX document , with a default sheet name of Sheet1.
    i used this command, and got the same ISAM error.
    Note my file does not exist in C:\, but in a sub folder. your example implied it was in the root of C:


    SELECT * FROM OPENROWSET('Microsoft.Ace.OLEDB.12.0',
             'Excel 8.0;DATABASE=c:\Data\Lowells_ListOfServers.xlsx;IMEX=1',
             'Select * from [Sheet1$]')

    I installed AccessDatabaseEngine_X64.exe with the /passive flag, so i can have both 32bit and 64 bit drivers

    D:\SQLInstalls\AccessDatabaseEngine_X64.exe /passive

    Then i reset the AllowInProcess and DynamicParamets again just in case:

    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
    GO
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
    GO

    The identical code above then worked successfully.

    I was under the impression that the OP had already made those settings changes.  Definitely worth double-checking though.

    Actually I haven't tried using the /passive switch.  Everything else I have done. I will try the switch at teh next opportunity.  Maybe it will help. 

    During the cleanup of the registry though I looked for entries relating to ACE.OLEDB and removed them but I am wondering whether or not I have missed something out.....