2015-12-02 2 views
0

Мне нужно написать хранимую процедуру, которая считывает данные с SQL Server и записывает их в таблицу MS Access 2003. Я попытался следующие, но он не работает:Экспорт данных из SQL Server в MS Access

Insert into OpenRowSet 
('Microsoft.Jet.OLEDB.4.0',  
'D:\BEMF_LOAN_RECOVERY.mdb'; 
''; -- User ID 
'', -- Password 
'Select * from access_tbl_name') 
    Select * 
    from sql_server_tbl_name 

Ошибка электронном письме

Msg 7308, уровень 16, состояние 1, строка 2
OLE DB провайдера Microsoft.Jet.OLEDB.4.0 " не может использоваться для распределенных запросов, поскольку поставщик настроен для работы в однопоточном режиме квартиры.

+1

ли сообщение об ошибке? – Richard

+0

Вы понимаете, что диск 'D:', о котором идет речь, будет на сервере SQL Server, а не на вашем локальном ПК, если предположить, что они разные? –

+0

@MattGibson и SQL SERVER и file.mdb находятся на одной машине. – Khan

ответ

1

Вы уверены, что на вашем SQL Server включены «Специальные распределенные запросы»?

По умолчанию SQL Server не позволяет СПЕЦИАЛЬНЫЕ распределенные запросы с использованием OPENROWSET и OPENDATASOURCE. Если для этой опции установлено значение 1, сервер SQL позволяет использовать ad hoc. Если этот параметр не установлен или установлен в 0, SQL Server не разрешает доступ ad hoc.

https://msdn.microsoft.com/en-us/library/ms187569.aspx