最近在看很早之前买的《SQL Server 2005宝典》,里面讲了链接服务器。个人用的是SQL Server2012,office装的是2013,照着书中的语句建了几个链接服务器,但测试连接总是报错,可在2005和2008上都是直接OK。研究来研究去是SQL Server 2012开始,访问接口就没有了Microsoft.Jet.OLEDB.4.0。照着网上各种撸,也碰到各种问题,最后终于能连上了。总结下来,操作如下:
1,安装ACE2010的驱动,将所有Microsoft.Jet.OLEDB.4.0 改成Microsoft.ACE.OLEDB.12.0
2,控制面板/管理工具/服务/SQL Server (SQLEXPRESS) --> 右键 属性 --> 登录 --> 设置: 登录身份=本地系统账户 --> 重启服务
EXEC sp_DropServer @server = 'CHA1_Customers' go EXEC sp_addlinkedserver 'CHA1_Customers', 'Access 2003', 'Microsoft.ACE.OLEDB.12.0', 'C:\SQLData\CHA1_Customers.mdb' go -- establish Excel Linked Server EXEC sp_DropServer @server = 'CHA1_Schedule' go Execute sp_addlinkedserver 'CHA1_Schedule', 'Excel', 'Microsoft.ACE.OLEDB.12.0', 'C:\SQLData\CHA1_Schedule.xls', NULL, 'Excel 5.0' go 参考文章:
64位下无法使用Microsoft.Jet.OLEDB.4.0的解决方法
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OleDb.12.0" 报错。提供程序未给出有关错误的任何信息