Excel 2007中带密码保护Access文件的OLE DB连接字符串写法咨询
Excel 2007中带密码保护的Access数据库OLE DB连接字符串正确写法
我明白你在Excel 2007里连接带密码的Access数据库时遇到了麻烦——不同Office版本对OLE DB连接的处理确实存在细微差异,你在2016里能用的字符串放到2007里失效,核心原因是驱动版本和参数格式的兼容性问题。
关键调整:适配Excel 2007的连接字符串
Excel 2007原生搭配的是Microsoft Jet 4.0 OLE DB Provider(而非2016常用的ACE 12.0驱动),且Jet驱动对密码参数的格式要求和ACE不同。正确的连接字符串写法如下:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Users\Asus\Google Drive\Test\System Improvement\Test.mdb";Jet OLEDB:Database Password=test;
注意这里的密码值test不需要额外加双引号,这是Jet驱动和ACE驱动的核心区别之一。
完整操作步骤(Excel 2007)
- 打开Excel 2007,切换到数据选项卡,选择「自其他来源」>「来自数据连接向导」
- 在向导中选择「其他/高级」,打开「数据链接属性」窗口
- 切换到「提供者」选项卡,选中Microsoft Jet 4.0 OLE DB Provider,点击「下一步」
- 在「连接」选项卡中:
- 点击「选择」按钮,找到你的
Test.mdb文件路径 - 在「Jet OLEDB:数据库密码」输入框中直接填写
test(不要加引号) - 点击「测试连接」确认能正常访问数据库
- 点击「选择」按钮,找到你的
- 测试通过后,按向导完成后续操作,输入你的SQL语句
SELECT * FROM JO即可完成数据关联
额外说明
如果你已经给Excel 2007安装了ACE 12.0驱动(比如安装了Office 2007 SP2及以上版本),也可以尝试沿用ACE驱动,但同样要去掉密码的双引号:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source="C:\Users\Asus\Google Drive\Test\System Improvement\Test.mdb";Jet OLEDB:Database Password=test;
不过优先推荐使用Jet 4.0驱动,它是Excel 2007的原生支持组件,兼容性更稳定。
内容的提问来源于stack exchange,提问作者Pherdindy
相关产品推荐
相关产品推荐

