插入到OPENROWSET中,SQL中的事务不起作用

时间:2018-09-20 09:50:00

标签: sql sql-server openrowset sqltransaction

插入OPENROWSET可以正常工作,直到将其包装在TRANSACTION语句中为止。

BEGIN TRAN

INSERT INTO OPENROWSET
       ('Microsoft.ACE.OLEDB.12.0', 
        'Excel 12.0; Database=C:\SP_Upload\MailerUpload\test.xlsx;', 
        'select [Name], [ID] FROM [Data$]'
       )
select 'Subject 1', '1'
union all
select 'Subject 2', '2'

COMMIT TRAN
IF @@ERROR<>0 ROLLBACK TRAN

以下是错误消息:

  

由于OLE DB提供程序无法执行请求的操作   链接服务器“(null)”的“ Microsoft.ACE.OLEDB.12.0”不支持   所需的交易界面。

猜猜这是一个古老的问题(根据被问到https://www.googleapis.com/admin/directory/v1/users的事实得出)。他(最初发布的人)似乎没有记录在案的答案,我也没有。:D

尝试了分布式事务,该事务也不起作用。

BEGIN DISTRIBUTED TRAN
-- rest of the code 

感谢您的帮助! :)

0 个答案:

没有答案