Jet.OLEDB 在连接时“找不到可安装的 ISAM”。打开

Posted

技术标签:

【中文标题】Jet.OLEDB 在连接时“找不到可安装的 ISAM”。打开【英文标题】:"Could not find installable ISAM" for Jet.OLEDB at connection.Open 【发布时间】:2015-10-23 15:03:22 【问题描述】:

这是我的 Connection.cs:

public class Connection


    public static string connectionstr = ConfigurationManager.ConnectionStrings["connectionstr"].ToString();

    public static OleDbConnection DBconnection()
    
        //
        // TODO: Add constructor logic here
        //
        OleDbConnection con = new OleDbConnection(connectionstr);
        if (con.State == ConnectionState.Open)
            con.Close();
        con.Open();
        return con;
    


当我输入输入值并提交时,它会显示类似这样的错误,

This 是错误:

System.Data.OleDb.OleDbException`:找不到可安装的 ISAM

我是 .NET 框架的新手,我刚刚创建了 login.aspx,所以我没有添加任何源代码。

我的连接字符串是

<connectionStrings> 
    <add name="connectionstr" connectionString="Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|\registration.mdb;User Instance=true" providerName="System.Data.OleDb" /> 
</connectionStrings>

【问题讨论】:

这可能有一些有用的信息:support.microsoft.com/en-us/kb/209805. 看看这个可能是重复的:***.com/questions/11562267/… 你能发布你的连接字符串吗? 是的, 如果它在连接字符串的开头抛出,那么这可能是你的问题 - ***.com/questions/4214527/… 【参考方案1】:

您的连接字符串包含参数

;User Instance=true

这不适用于 Access OLEDB 提供程序(Microsoft.Jet.OLEDB.4.0Microsoft.ACE.OLEDB.12.0)。

当我包含该参数时,我像您一样收到“找不到可安装的 ISAM”错误。当我删除该参数时,错误就消失了。

【讨论】:

好的先生.. 我更改了我的代码,但现在它显示这样的错误“查询值和目标字段的数量不一样。”在“com.ExecuteNonQuery();”行中..怎么办? 这是一个不同的问题,所以你应该ask a new one。 What is the the best way to ask follow up questions?

以上是关于Jet.OLEDB 在连接时“找不到可安装的 ISAM”。打开的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别(转)

将连接字符串从 Microsoft.Jet.OLEDB.4.0 转换为 Microsoft.ACE.OLEDB.12.0 提供程序

使用 microsoft.jet.oledb.4.0 从 paradox db 过滤日期字段

Microsoft.Jet.OLEDB.4.0 转换字符

未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序