从SQL Server的2010年Access数据库中读取数据

时间:2019-06-13 15:13:33

标签: sql-server tsql ms-access

我将告诉您我的环境:Windows Server 2012 R2 64,ACCESS 2010 32,以Administrator帐户AccessDatabaseEngine 32运行的SQL SERVER 2008 R264。我需要将sql连接到2010的bbdd访问。我尝试创建链接服务器并使用OPENDATASOURCE和OPENROWSET,但始终收到错误消息

  

OLE DB提供程序'Microsoft.ACE.OLEDB.12.0'不能用于   分布式查询,因为它配置为以简单方式运行   控制线程模式。

我一直在Internet上搜索,并且按照所有步骤进行操作,但是我仍然遇到相同的错误,我还对管理员和sa帐户使用了SSMS,并且始终出现相同的错误。奇怪和奇怪的是,在安装AccessDatabaseEngine 32之后,“ Microsoft.ACE.OLEDB”没有出现在服务器对象的提供程序中。

非常感谢您和问候。

current_rep_query = "select  * from Customers where %s = ?"

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

启用环境。

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

然后,检查是否可行。

Insert Into database.schema.yourtable SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;HDR=YES;Database=E:\Data\test.xls','SELECT * FROM [sheet1$]');