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"