2015-12-02 159 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 

錯誤mesage

消息7308,級別16,狀態1,行2
OLE DB提供程序 'Microsoft.Jet.OLEDB.4.0'不能用於分佈式查詢,因爲提供程序被配置爲以單線程模式運行。

+1

是否有錯誤消息? – Richard

+0

您是否意識到相關的'D:'驅動器將成爲SQL Server上的驅動器,而不是您本地的PC上,假設它們不同? –

+0

@MattGibson SQL SERVER和file.mdb都在同一臺機器上。 – Khan

回答

1

您確定在您的SQL Server上啓用了「Ad Hoc Distributed Queries」嗎?

默認情況下,SQL Server不允許使用 OPENROWSET和OPENDATASOURCE即席分佈式查詢。當此選項設置爲1時,SQL 服務器允許臨時訪問。當此選項未設置或設置爲 0時,SQL Server不允許臨時訪問。

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

相關問題