C#连接access数据库,“ServerVersion = “conn.ServerVersion” "找不到可安装的ISAM"

做一个简单的工业项目,连接一个2003的access数据库。

private static string connStr = "Provider = Microsoft.Jet.OLEDB.4.0;DataSource = ";
private OleDbConnection conn = null;
OpenFileDialog openDB = new OpenFileDialog();
            openDB.Filter = "数据库文件|*.mdb";
            openDB.RestoreDirectory = true;
            openDB.FilterIndex = 1;
            if (openDB.ShowDialog() == DialogResult.OK)
            {
                filename = openDB.FileName;
                conn = new OleDbConnection(connStr + filename);
}

简单的很吧,结果刚开始就来个下马威

“ServerVersion = “conn.ServerVersion”引发了“System.InvalidOperationException”类型的异常”

OMG,这是怎么回事?

网上查了查,一说是03和07的连接字符串不一样。但是我看了看,我用的就是03版,驱动就是Jet.OLEDB 4.0

继续调试,异常信息里有一句“找不到可安装的ISAM”,百度这个,发现有人说是文件名中带有非法字符。再检查一下,文件名ok的。

再向后翻翻,有人一语道破:

字符串是copy的吧,“Data Source”中间需要有空格!

private static string connStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = ";

加上空格,一切OK


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值