Sql server 2008 OLE DB提供程序“;微软.Jet.OLEDB.4.0“;“用于链接服务器”;(无效)“;

Sql server 2008 OLE DB提供程序“;微软.Jet.OLEDB.4.0“;“用于链接服务器”;(无效)“;,sql-server-2008,Sql Server 2008,错误消息:无法执行请求的操作,因为链接服务器的OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”(null)不支持所需的事务接口。 我很难找到此错误的解决方案(请参阅错误消息)。 以下是我的部分代码: ..... INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0; Database=C:\Folder\file_output.xls', 'SELECT * FROM [Sh

错误消息:无法执行请求的操作,因为链接服务器的OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”(null)不支持所需的事务接口。

我很难找到此错误的解决方案(请参阅错误消息)。
以下是我的部分代码:

.....
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;
        Database=C:\Folder\file_output.xls',
        'SELECT * FROM [Sheet1$]')
        SELECT FROM FIELD1, FIELD2, FIELD3 dbo.MY_TABLE 
        WHERE TRANS_ID = 1 
        ORDER BY CTRL_NO ASC
.....
上述代码包含在SP。。。这是在一系列SP调用中运行的最后一个SP。
以下是执行链/流程:SP1->SP2->SP3->SP4(假设SP4包含上述代码)
但是,在整个执行流程中,会出现错误消息所提示的错误。

以下是我尝试测试/跟踪错误的两个场景。
-运行SPs链-->结果:出现错误
-注释/删除SP4,然后仅运行SP1->SP2->SP3。然后分别执行SP4。-->结果:正常

请。注意:我需要在流程中执行SPs。
除了通过SQL runner执行SP1之外,没有web/任何前端 我现在想知道这是MS SQL Server 2008中的一个bug还是我遗漏了什么。
如果我的问题仍然含糊不清,请要求我澄清。谢谢。

尝试选中“服务器对象-链接服务器-提供商-Microsoft.Jet.OLEDB.4.0”属性中的“非事务更新”选项。也许您需要重新启动sql server