Article ID: 318161 - Last Review: November 28, 2007 - Revision: 3.1

"Could not find installable ISAM" (0x80004005) error message when you try to set session-level Jet properties

This article was previously published under Q318161
Caution ADO and ADO MD have not been fully tested in a Microsoft .NET Framework environment. They may cause intermittent issues, especially in service-based applications or in multithreaded applications. The techniques that are discussed in this article should only be used as a temporary measure during migration to ADO.NET. You should only use these techniques after you have conducted complete testing to make sure that there are no compatibility issues. Any issues that are caused by using ADO or ADO MD in this manner are unsupported. For more information, see the following article in the Microsoft Knowledge Base:
840667   (http://support.microsoft.com/kb/840667/ ) You receive unexpected errors when using ADO and ADO MD in a .NET Framework application

On This Page

Expand all | Collapse all

SYMPTOMS

When you try to set custom, provider-specific properties for the Microsoft OLE DB Provider for Jet in the ADO OLE DB connection string, you receive the following error message:
Could not find installable ISAM
Error Code: 0x80004005 (or -2147467259)

CAUSE

The Microsoft OLE DB Provider for Jet includes many custom properties that you can set only after you establish a connection to the database. These provider-specific properties are custom OLE DB session properties. You cannot set these properties in the ADO OLE DB connection string; you must set these properties after the connection is opened.

This error occurs when you specify the following Jet-specific properties in the connection string:
  • Jet OLEDB:ODBC Command Time Out
  • Jet OLEDB:Max Locks Per File
  • Jet OLEDB:Implicit Commit Sync
  • Jet OLEDB:Flush Transaction Timeout
  • Jet OLEDB:Lock Delay
  • Jet OLEDB:Max Buffer Size
  • Jet OLEDB:User Commit Sync
  • Jet OLEDB:Lock Retry
  • Jet OLEDB:Exclusive Async Delay
  • Jet OLEDB:Shared Async Delay
  • Jet OLEDB:Page Timeout
  • Jet OLEDB:Recycle Long-Valued Pages
  • Jet OLEDB:Reset ISAM Stats
  • Jet OLEDB:Connection Control
  • Jet OLEDB:ODBC Parsing
  • Jet OLEDB:Page Locks to Table Lock
  • Jet OLEDB:Sandbox Mode
  • Jet OLEDB:Transaction Commit Mode

RESOLUTION

In ADO 2.7 or earlier, you can set the provider-specific properties after you establish a connection to the database. For example:
Dim cnn As New ADODB.Connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;"
cnn.Properties("Jet OLEDB:Max Buffer Size") = 256
				
In ADO.NET, you cannot set OLE DB session-level, provider-specific properties. Because ADO.NET is a disconnected model, you do not typically have to set these properties unless you have a live connection to the database.

STATUS

This behavior is by design.

MORE INFORMATION

Reproduce the behavior in ADO 2.7 or earlier

The following ADO code reproduces the "Could not find installable ISAM" error:
Dim cnn As New ADODB.Connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Jet OLEDB:Max Buffer Size=256;"
				

Reproduce the behavior in ADO.NET

The following ADO.NET C# code reproduces the "Could not find installable ISAM" error:
try
{
    OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\DB1.MDB;Jet OLEDB:Max Buffer Size=256;"); 
    conn.Open();
}
catch(OleDbException e)
{
    MessageBox.Show("Error code= "+ e.ErrorCode.ToString("X")+"\nError Description="+e.Message);
}
				

REFERENCES

For more information about provider-specific properties for the Microsoft OLE DB Provider for Jet, see the following Microsoft Web site:
Microsoft Jet Provider custom properties
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdrefjetprovspec.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdrefjetprovspec.asp)

APPLIES TO
  • Microsoft ADO.NET 2.0
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
Keywords: 
kbjet kbprb KB318161
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations