Question

I need to open and read a Dbase file in my ASP.NET application. When I try to open the connection, I am getting the exception "Could not find installable ISAM." I have tried the solutions in the top answer in this question, but they did not work for me.

The filepath of the data file is C:\dev\DATA.DBF. Here is the code I am using to try to open the connection:

Dim connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\dev\DATA.DBF;Extended Properties=dBASE IV;"
Dim connection As OleDbConnection = New OleDbConnection(connectionString)
connection.Open()

At this point I get the exception "Could not find installable ISAM." Do you have any ideas what I can try to get this to work? Note that I am able to import this file into an Access database as a dBASE IV file.

I am running Visual Studio 2008 on Windows 7. Let me know if you need any more information. Thanks for your help.

Was it helpful?

Solution

I have found a solution to this problem. I used the technique outlined in this post.

I am using an ODBC connection instead of an OLE connection. Here is the code:

Dim connectionString = "Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=C:\dev;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;"
Dim connection As OdbcConnection = New OdbcConnnection(connectionString)
Dim command As OdbcCommand = New OdbcCommand("SELECT * FROM C:\dev\DATA.DBF", connection)
connection.Open()
Dim reader As OdbcDataReader = command.ExecuteReader()
connection.Close()

Note that the directory name of the DBF file is in the connection string, while the full path of the DBF file is in the select statement. I simply followed the convention in the linked post, and it worked for me.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top