【发布时间】:2011-02-04 18:01:57
【问题描述】:
如何在不使用链接服务器的情况下直接从 SQL Management Studio 查询 MS Access 数据库?
即。像
SELECT * FROM ["C:\Data\Accessdb.mdb"].[SomeTableInAccessDB]
显然这行不通,但是否可以在 sql 查询中指定访问数据库的详细信息?
【问题讨论】:
标签: sql-server ms-access
如何在不使用链接服务器的情况下直接从 SQL Management Studio 查询 MS Access 数据库?
即。像
SELECT * FROM ["C:\Data\Accessdb.mdb"].[SomeTableInAccessDB]
显然这行不通,但是否可以在 sql 查询中指定访问数据库的详细信息?
【问题讨论】:
标签: sql-server ms-access
如果使用 64 位服务器,请使用 Microsoft.ACE.OLEDB.12.0 作为提供者:
SELECT CustomerID, CompanyName
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';
'admin';'',Customers)
【讨论】:
您可以使用 OPENROWSET 或 OPENQUERY。例如(根据 Microsoft 的 Northwind):
SELECT CustomerID, CompanyName
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';
'admin';'',Customers)
添加链接服务器只是为了简化配置,因此不同的进程可以使用连接,而无需指定连接详细信息。我不相信链接服务器实际上会添加任何无法通过两个 OPEN 选项之一获得的功能。
【讨论】:
OPENROWSET() 怎么样。
【讨论】: