我需要编写一个存储过程,从SQL Server读取数据并将其写入MS Access 2003表。我尝试了以下但不起作用:
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,Level 16,State 1,Line 2
OLE DB提供程序' Microsoft.Jet.OLEDB.4.0'不能用于分布式查询,因为提供程序配置为在单线程单元模式下运行。
答案 0 :(得分:1)
您确定在SQL Server上启用了“Ad Hoc Distributed Queries”吗?
默认情况下,SQL Server不允许使用ad hoc分布式查询 OPENROWSET和OPENDATASOURCE。当此选项设置为1时,SQL 服务器允许临时访问。未设置此选项或设置为此选项时 0,SQL Server不允许临时访问。