Исключение OleDB: не удалось найти устанавливаемый ISAM

#vb.net #oledb

#vb.net #oledb

Вопрос:

 Dim con As New OleDb.OleDbConnection
Sub connecttodatabase(ByVal fileselected As String)
    Dim databasepassword
    con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source = " amp;     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 = " amp; fileselected amp; ";JetOLEDB:Database Password=" amp; databasepassword amp; ";"
            con.Open()
        End If
        errorid = 1
    Finally
    End Try
End Sub
  

Ошибка, с которой я сталкиваюсь, возникает при втором завершении.Open () когда я пытаюсь подключиться к файлу базы данных .mdb, который я создал в access, функция корректно сообщает мне, что у меня есть пароль, но затем, как только я ввожу свой пароль, я получаю ошибку, указанную в заголовке, и я понятия не имею, почему. Буду признателен за любую помощь.

Ответ №1:

Попробуйте вместо этого следующее: Поставщик = Microsoft.Jet.OLEDB.4.0; Источник данных = C: mydatabase.mdb; Идентификатор пользователя = admin; Пароль = YOURPASS;


Кроме того, какое исключение вы получаете при первом вызове для открытия базы данных? Возможно, это та же проблема: ISAM отсутствует. Попробуйте переустановить MDAC:

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

Комментарии:

1. Исключение, которое я получаю при первом вызове, заключается в том, что пароль неверен, поэтому я предлагаю пользователю ввести свой пароль. Когда я меняю свою строку подключения на ту, которую вы предложили, вместо этого я получаю следующее исключение «Не удается запустить ваше приложение. Файл информации о рабочей группе отсутствует или открыт исключительно другим пользователем.». РЕДАКТИРОВАТЬ: Установка MDAC не имела никакого значения.

2. После небольшого чтения этот тип строки подключения НЕВЕРОЯТНО требователен, и малейшая опечатка выдает ошибку, которую вы получаете. Попробуйте использовать именно это, заменив параметры на свои (используйте точно такой же регистр, интервал и т.д. 🙂 Поставщик = Microsoft.Jet.OLEDB.4.0; Источник данных = C:mydatabase.mdb;Jet OLEDB: Пароль базы данных =MyDbPassword;