提问人:SchoolOfTheYear 提问时间:11/6/2023 更新时间:11/6/2023 访问量:18
将 transactionOption 设置为 Required 时无法连接到数据库
Cannot connect to database when setting transactionOption to Required
问:
我在 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 任务的容器并收到相同的错误。
答: 暂无答案
上一个:Postgresql 回滚调查
下一个:回滚后需要新事务仍影响实体
评论