我已经在Excel工作簿中编写了一些VBA代码,以从桌面上同一目录中的Access数据库中检索数据。在我的机器和其他运行Windows XP的机器上,它都可以正常工作,但是当我们在Vista机器上进行测试时,遇到以下错误:找不到可安装的ISAM我已经做了很多在线搜索,但似乎找不到具体答案。连接字符串似乎很好,并且正如我提到的,它可以在多台计算机上使用。有谁知道这可能是什么原因?我的连接字符串如下:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ptdb\Program Tracking Database.mdb;谢谢
3 回答
冉冉说
TA贡献1877条经验 获得超1个赞
将单引号放在Extended Properties:
OleDbConnection oconn =
new OleDbConnection(
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';");
试试看,它确实有效。
Cats萌萌
TA贡献1805条经验 获得超9个赞
尝试在数据源周围加上单引号:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:\ptdb\Program Tracking Database.mdb';
问题往往是空格,它确实对解析器有意义。
如果您还有其他属性(例如扩展属性),则它们的值也可能必须用单引号引起来:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:\ptdb\Program Tracking Database.mdb'; Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';
您同样可以使用双引号;但是,您可能必须逃避它们,而且与使用单打相比,我发现算法更多的是痛苦。
- 3 回答
- 0 关注
- 581 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消