OleDB 异常:找不到可安装的 ISAM

Posted

技术标签:

【中文标题】OleDB 异常:找不到可安装的 ISAM【英文标题】:OleDB Exception: Could not find installable 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 数据库文件时,该函数正确地告诉我我有密码,但是一旦我输入我的密码 我得到标题中定义的错误,我不知道为什么。任何帮助将不胜感激。

【问题讨论】:

【参考方案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;

以上是关于OleDB 异常:找不到可安装的 ISAM的主要内容,如果未能解决你的问题,请参考以下文章

OleDb如何读取Excel?(Error:找不到可安装的ISAM)

Microsoft.Jet.OLEDB.4.0 导入excel报"找不到可安装的ISAM"

找不到可安装的isam

微软.ACE.OLEDB.12.0;可能的连接字符串格式错误导致“找不到可安装的 ISAM 文件”错误?

C#导入execl 找不到可安装的 ISAM

为啥错误???找不到可安装的 ISAM