【问题标题】:OleDB Exception: Could not find installable ISAMOleDB 异常:找不到可安装的 ISAM
【发布时间】:2011-04-15 15:04:32
【问题描述】:
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() 当我尝试连接到我在 access 中创建的 .mdb 数据库文件时,该函数正确地告诉我我有密码,但是一旦我输入我的密码 我得到标题中定义的错误,我不知道为什么。任何帮助将不胜感激。

【问题讨论】:

    标签: vb.net oledb


    【解决方案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

    【讨论】:

    • 我从第一次调用中得到的异常是密码无效,所以我提示用户输入密码。当我将连接字符串更改为您建议的连接字符串时,我收到以下异常,而不是“无法启动您的应用程序。工作组信息文件丢失或由其他用户独占打开。”。编辑:安装 MDAC 没有任何区别。
    • 阅读了一下之后,这种类型的连接字符串非常挑剔,最轻微的拼写错误都会引发您遇到的错误。尝试完全使用它,用你的替换参数(使用完全相同的大小写、间距等:) Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 2011-04-01
    • 2012-08-01
    相关资源
    最近更新 更多