Could not find installable ISAM.
I got the "Could Not find installable ISAM error" while uploading an Excel file in my application. The connection string uses the Microsoft.Jet.OLEDB.4.0 provider with following parameters Provider=Microsoft.Jet.OLEDB.4.0;Excel 8.0;
Extended Properties=HDR=No; IMEX=1.
I checked the registry entries as mentioned in the "Retrieving Data from Excell 2003-Could Not Find installable ISAM" post and even registered the "Msexcl40.dll" again. Even then I got the "Could Not find installable ISAM error". So I restarted the IIS Server. Even then the problem persists. What else could be the problem?
Thanks and Regards,
Little
[733 byte] By [
Little] at [2008-1-10]
This error will also be generated when the syntax of the connection string is incorrect. This commonly occurs when using multiple Extended Properties parameters. Below is an example:
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=e:\My Documents\Book20.xls;Extended Properties=""Excel 8.0;HDR=NO;IMEX=1"""
The connection string is of the format:
"Provider=Microsoft.Jet.OLEDB.4.0;Excel 8.0; Extended Properties=HDR=No; IMEX=1;Data Source=" & App.Path & "\..\Upload " & "ExcelFileName & ".xls"
where ExcelFileName is the name of the Excel file.
Thanks & Regards,
Little
I see some problems with the syntax. Try the following instead:
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path & "\..\Upload" & ExcelFileName & ".xls" & ";Extended Properties=""Excel 8.0;HDR=NO;IMEX=1"""
I'm assuming your data source is correct, although I can't tell by looking at your connection string whether ExcelFileName is preceded by a back slash. In any event, the Extended Properties argument would not be evaluated properly in the example you posted.
The ExcelFileName in the connection string contains the backslash and the excel filename.
The connection string posted by me does not cause any trouble in the development server but causes error "Cannot find installable ISAM" in the uat server where some service packs and hotfixes have been installed. Right now I don't know which ones. But I found that the version of the "Msjet40.dll" in development server is "4.0.8618.0" while that in uat server is "4.0.9025.0". Can this cause the problem?
Thanks and Regards,
Little
OK, well I copied and pasted the connection string you posted and can't execute it because there is a syntax error, so you must be using something that's different.
Assuming that it runs fine on one system and not another I would say that you definitely have a configuration problem with respect to Jet and the Excel ISAM driver. What account did you log on to the server with when you re-registered the Excel ISAM driver?
We are using Windows 2000 Server SP4 Update RollUp1 , MDAC version 2.8 and the Microsoft Jet 4.0 Database Engine that comes with SP4 Update RollUp1.
We tried reinstalling MDAC and restarted the Server. But that doesn't solve the problem.
Thanks and Regards,
Little
The Excel ISAM is actually intalled with Jet so I wouldn't expect an MDAC fix to resolve the issue.
Have you checked for multiple versions of Msexcl40.dll? I believe the version that your installation should be using is 4.0.9025.0.
If you can back out the update rollup you can try re-installing. Otherwise it may tell you that the latest version is already installed.
I seem to recall there was a way to resolve this issue through an Office install fix as well, but I'm assuming that you don't have Office installed on this machine.
Office is not installed on this machine. If Office was present on the machine and uninstalled could this cause the problem.
Is there any other way to read an Excel file besides using the Microsoft.Jet.OLEDB.4.0 provider?
Thanks and Regards,
Little