Sql server 将ms access链接到sql server

Sql server 将ms access链接到sql server,sql-server,ms-access,sql-server-2008-r2,Sql Server,Ms Access,Sql Server 2008 R2,我想通过SQL Server R2实例访问我的MS access数据库 可能吗?如果是,比怎么做?简短回答: 开放数据源 我有几个例子 我的例子不是“直接命中”,但很有帮助,IMHO MSDN文章中的示例: SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\DataFolder\Documents\TestExcel.xls;Extended Properties=EXCEL 5.0')...[She

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

可能吗?如果是,比怎么做?

简短回答:

开放数据源

我有几个例子

我的例子不是“直接命中”,但很有帮助,IMHO

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

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


这是个好主意,但我不知道它是如何工作的。而且也不知道为什么每个人都会把这个问题降到最低。。。现在上帝帮助解决你的问题。将它添加为链接服务器?另外,这与编程有什么关系?请解释一下“链接”的含义以及你的目标是什么。你的问题很短,根本不清楚你在问什么。@Pondlife我只想连接ms access sql server。我的access Db设计得很糟糕,我只是想通过应用sql查询访问sqlserver抛出的那些数据以轻松获取数据…我会使用下面的答案/提示…然后创建一个视图来包装select from(jet数据库)。注意,如果你去我的博客,你可以得到jet数据库的语法。