我在Excel中设置了与访问数据库的连接以更新某些报告。但是当我尝试刷新工作簿时,我没有收到此错误:找不到可安装的ISAM。
这是我正在使用的连接字符串:
Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=\\0datblaset\BlaSet\BLA-AssetMangment.mdb;Mode=Share Deny Write;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False
关于我做错的任何想法?有什么建议?在此先感谢您的任何帮助
答案 0 :(得分:1)
最可能的原因(至少从我自己的经验中发现)是连接字符串的最后一部分:
Jet OLEDB:Bypass UserInfo Validation=False
如果您或您的用户社区正在使用版本之间的文件,例如您使用2013并且您的用户正在使用2010,那么更高版本会为之前的连接字符串添加一些其他参数版本不承认。
有关详细信息,请参阅此链接:https://support.microsoft.com/en-us/kb/3041386
答案 1 :(得分:0)
尝试将源放在单引号中
答案 2 :(得分:0)
这是一个非常复杂的连接字符串,在大多数情况下,您只需要提供者和文件:
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\0datblaset\BlaSet\BLA-AssetMangment.mdb;"
检查连接字符串的好地方是http://connectionstring.com
答案 3 :(得分:0)
问题在于提供者。在我的特定情况下,我不得不将DriverID更改为1046,就像我的其他连接一样。
DSN=ExcelFiles;DBQ=C:\Source\SourceFile.xls;DefaultDir=C:\Source\;DriverId=**1046**;
FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;