【发布时间】:2014-01-28 18:00:42
【问题描述】:
我想在 Management Studio 中从与我的 SQL Server 2012 实例位于同一台计算机上的 Microsoft Access 2007 数据库查询数据。我不想使用链接服务器来执行此操作,因为用户可以选择不同的 Access 数据库。我正在遵循technet 上的指示以及我读过的其他来源说使用OPENROWSET 作为做我想做的事情的正确方法,但是当我在 Management Studio 中执行此操作时......
SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\Users\oliver.klosoff\Desktop\New folder\41000-13-0085 Consolidated Killers LLC.mdb';
'admin';'',tblTtlHrsFringes);
...我收到以下错误:
Msg 7302, Level 16, State 1, Line 1
Cannot create an instance of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".
数据库没有给admin用户设置密码,admin用户有读取这个表的权限。机器上安装了Access 2007 32bit,也就是64位,还有SQL Server实例。我相信 SQL Server 可以访问数据库文件,因为当我执行此操作时得到 1:
DECLARE @out INT
EXEC master.dbo.xp_fileexist 'C:\Users\oliver.klosoff\Desktop\New folder\41000-13-0085 Consolidated Killers LLC.mdb', @out OUTPUT
SELECT @out`
有没有办法做我想要完成的事情?
【问题讨论】:
标签: sql-server ms-access sql-server-2012 ms-access-2007