Я собираюсь рассказать вам о своей среде: Windows Server 2012 R2 64, ACCESS 2010 32, SQL SERVER 2008 R2 64, работающий с учетной записью администратора, AccessDatabaseEngine 32. Мне нужно подключить sql к bbdd-доступу 2010 года.Я попытался создать связанный сервер и использовать OPENDATASOURCE и OPENROWSET, но всегда получаю сообщение об ошибке
Поставщик OLE DB «Microsoft.ACE.OLEDB.12.0» не может использоваться для распределенных запросов, поскольку он настроендля запуска в режиме простого управляемого потока.
Я искал в Интернете, и я выполнил все шаги, но у меня все еще та же ошибка, я также использовал SSMS с учетными записями администратора и sa и всегдата же ошибка.Любопытно и странно то, что после установки AccessDatabaseEngine 32 «Microsoft.ACE.OLEDB» не появляется в провайдерах в объектах сервера.
Большое спасибо и поздравления.
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
exec sp_configure 'Advanced', 1
RECONFIGURE
GO
exec sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE
GO
exec sp_configure 'xp_cmdshell', 1
RECONFIGURE
GO
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
EXEC sp_addlinkedserver
@server = N'DATOS',
@provider = N'Microsoft.ACE.OLEDB.12.0',
@srvproduct = N'OLE DB Provider for ACE',
@datasrc = N'C:\SERVIDOR\DATOS\BBDDs.accdb';
GO
SELECT id From OpenRowset('Microsoft.ACE.OLEDB.12.0',';Database=C:\SERVIDOR\DATOS\BBDDs.accdb;','SELECT * from Productos') as B
GO
SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','Data Source=C:\SERVIDOR\DATOS\BBDDs.accdb')...Productos
GO