Search code examples
vb.netoledb

OleDB Exception: Could not find installable ISAM


Dim con As New OleDb.OleDbConnection
Sub connecttodatabase(ByVal fileselected As String)
    Dim databasepassword
    con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source = " &     fileselected
    Try
        con.Open()
    Catch e As OleDb.OleDbException
        If e.Message = "Not a valid password." Then
            Console.WriteLine("Database has a password. Please enter password to continue.")
            databasepassword = Console.ReadLine()
            con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source = " & fileselected & ";JetOLEDB:Database Password=" & databasepassword & ";"
            con.Open()
        End If
        errorid = 1
    Finally
    End Try
End Sub

The error I am encountering occurs at the second con.Open() when I try to connect to a .mdb database file which I created in access, the function correctly tells me I have a password, but then once I enter my password I get the error defined in the title, and I have no idea why. Any help would be greatly appreciated.


Solution

  • Try this instead: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=YOURPASS;


    Also, what exception are you getting from the first call to open the db? Maybe it's same problem: the ISAM isn't present. Try reinstalling MDAC:

    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=78cac895-efc2-4f8e-a9e0-3a1afbd5922e