0

我想通过 SQL Server R2 实例访问我的 MS Access 数据库。

是否可以?如果是,比怎么样?

4

2 回答 2

1

简短的回答:

开放数据源

http://msdn.microsoft.com/en-us/library/ms179856.aspx

我这里有几个例子

恕我直言,我的示例不是“直接命中”,但很有帮助。

来自 MSDN 文章的示例:

SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\DataFolder\Documents\TestExcel.xls;Extended Properties=EXCEL 5.0')...[Sheet1$] ;

这是一个更长的版本。但是,您需要列出您的 Sql Server 版本(32 或 x64)、您的操作系统。x64 Sql Server 与 Jet 数据库通信时会出现一些问题。

/* Setup */

/*
--Run this ONCE  

sp_configure 'show advanced options', 1;
 GO
 RECONFIGURE;
 GO
 sp_configure 'Ad Hoc Distributed Queries', 1;
 GO
 RECONFIGURE;
 GO

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
 GO
 EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
 GO

 RECONFIGURE;
 GO

*/




CREATE VIEW [dbo].[vwJetDatabaseWrapper]

AS

/*
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\work2\DotNet\MultiRDBMSSupport\DataStores\AccessDatabaseCopy\Nwind.mdb;')...[Customers] ;
*/

/* OR  */


SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
'Data Source=C:\work2\DotNet\MultiRDBMSSupport\DataStores\AccessDatabaseCopy\Nwind.mdb;')...[Customers] ;




GO
于 2013-02-19T16:42:26.123 回答
0

您将使用链接服务器。这是我发现的一个链接,其中包含一个几乎与您的问题完全相同的问题,并就如何设置它进行了很好的讨论。

http://social.msdn.microsoft.com/Forums/en/sqlgetstarted/thread/589ca193-3541-4c5e-965c-4c515d6b476b

于 2013-02-19T16:43:33.437 回答