我在Excel工作簿中编写了一些VBA代码,以从桌面上同一目录中的Access数据库中检索数据.它在我的机器和运行Windows XP的其他几台机器上运行良好,但是当我们在Vista机器上测试时,我们遇到以下错误:
找不到可安装的ISAM
我在网上做了很多搜索,但似乎找不到具体的答案.连接字符串似乎很好,正如我所提到的,它适用于多台机器.
有谁知道是什么原因引起的?我的连接字符串如下:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ptdb\Program Tracking Database.mdb;
谢谢
周围放置单引号Extended Properties
:
OleDbConnection oconn = new OleDbConnection( @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';");
尝试一下,它确实有效.
尝试在数据源周围放置单引号:
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;';
你也可以使用双引号; 然而,你可能不得不逃避它们,而且我发现算法中的痛苦比使用单曲更多.