IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]使用c#访问Access数据库时,提示找不到可安装的 ISAM

    testcs_dn发表于 2015-06-09 07:16:13
    love 0

    使用c#访问Access数据库时,提示找不到可安装的 ISAM,如下图:
    这里写图片描述

    代码如下:

    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db.mdb;Pwd=abcd;";
                conn = new OleDbConnection(connectionString);
    
                conn.Open();
    
                DataTable dt = conn.GetSchema("Tables");
    
                if (dt != null && dt.Rows.Count != 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++ )
                    {
                        listBox1.Items.Add(dt.Rows[i]["TABLE_NAME"].ToString());
                    }
                }
    
                conn.Close();

    经过多次的修改测试发现,只要连接字符串中出现不可识别的关键字、配置项目名称,就会提示找不到可安装的 ISAM的错误。
    上面的连接字符串中的“Pwd”在SQL Server的连接字符串中是可用的,但是在Access中却是不可识别的。

    例如以下语句也会提示找不到可安装的 ISAM的错误:

    connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=db.mdb;abcd=123";

    正确的连接字符串写法:

    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db.mdb;jet oledb:database password=123;";
    
    //或者:
                connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=db.mdb;jet oledb:database password=123;";


沪ICP备19023445号-2号
友情链接