将 transactionOption 设置为 Required 时无法连接到数据库

Cannot connect to database when setting transactionOption to Required

提问人:SchoolOfTheYear 提问时间:11/6/2023 更新时间:11/6/2023 访问量:18

问:

我在 ssis 中有几个包,在包中我有一个容器,它从 .csv 文件中获取数据并使用 ole db 目标将其上传到数据库表。一切正常,但是当我将 transactionoption 更改为容器的必需选项时,我收到一个错误:

[Execute SQL Task] Error: Failed to acquire connection "sql-data-dev\dev.main_data". Connection may not be configured

正确,否则您可能对此没有正确的权限 连接。

同时,我能够在与 ssis 一起使用的 SQL Server 上运行此查询,没有任何问题:

BEGIN TRY
    BEGIN DISTRIBUTED TRANSACTION

    INSERT INTO [data].[testingrollback] (id,name,salary) VALUES (3,'test','200')
    INSERT INTO [data].[testingrollback] (id,name,salary) VALUES (2,'test','200')

    COMMIT TRANSACTION
END TRY
BEGIN CATCH
    ROLLBACK TRANSACTION

    PRINT ERROR_MESSAGE();
END CATCH

此查询按应有的方式工作,如果第一次插入有效,但第二次插入失败,则不会进行任何插入,如果两者都有效,则两者都已提交,这表明事务协调器正在 SQL Server 上运行。它还在 SSIS 所在的 PC 上运行。

我的连接管理器使用本机 OLEDB\Microsoft OLE DB 提供程序用于 SQL Server 和 Windows 身份验证。

我想要我的容器的回滚功能,我知道平面文件源不适用于回滚,我尝试过使用只有执行 SQL 任务的容器并收到相同的错误。

SSIS 事务 SSMS 回滚

评论


答: 暂无答案