2011-04-15 230 views
0
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 

我遇到的错误发生在第二个con.Open()当我尝试连接到一个.mdb数据库文件时,该函数正确地告诉我我有一个密码,但是一旦我输入密码,就会得到标题中定义的错误,我不知道为什么。任何帮助将不胜感激。OleDB异常:找不到可安装的ISAM

回答

1

试试这个: Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\ mydatabase.mdb; User Id = admin; Password = YOURPASS;


还等什么异常,您在第一次调用得到打开分贝?也许这是同样的问题:ISAM不存在。请尝试重新安装MDAC:

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

+0

我第一次调用获得唯一的例外是,密码是无效的,所以后来我提示用户输入密码。当我将连接字符串更改为一个你建议我得到以下异常,而不是“无法启动您的应用程序。工作组信息文件丢失或由其他用户专门打开”。编辑:安装MDAC没有区别。 – 2011-04-15 15:32:07

相关问题