gpt4 book ai didi

sql-server - SSIS:启用事务导致数据库连接失败

转载 作者:行者123 更新时间:2023-12-05 01:24:54 25 4
gpt4 key购买 nike

我有一个包,用于将 CSV 文件中的记录加载到表格中。它在控制流中包含三个元素:

  • 截断表格
  • 将文件加载到表中
  • 加载后验证表中是否有记录或报错

想法是在包上有一个事务,所以如果元素加载失败或文件为空,那么事务将回滚并且表不会被截断。

要启用事务,我只是转到包属性并设置 TransactionOption=Required,然后我只是尝试执行包并在尝试执行第一个元素时出现此错误(SQL 任务试图截断表):

[Execute SQL Task] Error: Failed to acquire connection "Database Connection". Connection may not be configured correctly or you may not have the right permissions on this connection.

如果我返回并将包的 TransactionOption 属性更改为默认值(支持),则包会正确执行,但如果出现错误,则不会回滚。

我正在使用 ADO.NET 连接到 SQL Server 数据库。

知道我做错了什么吗?这是使用事务的正确方法还是我遗漏了什么?

谢谢!

最佳答案

我知道这是一个老话题,但我遇到了和你一样的问题 - 在我将其中一个容器事务的选项设置为 TransactionOption=Required 之前,程序包工作正常据我了解,这可能与 Microsoft 分布式事务处理协调器 (MSDTC) 服务未在 SQL 服务器上 启动有关。

当我遇到这个问题时,我检查了 MSDTC 是否在我运行该程序包的机器上启动 - 它是。遗憾的是,我无法访问 SQL 服务器来检查同样的事情。

但是,在运行软件包的机器上执行以下步骤解决了问题:

在 Windows Server 2008 和 Windows Vista 上:

  1. 点击开始,点击运行,然后输入dcomcnfg启动组件服务管理控制台。

    <
  2. 单击以展开组件服务,然后单击以展开计算机

  3. 单击以展开我的电脑,单击以展开分布式事务处理协调器,右键单击本地 DTC,然后单击属性

  4. 单击本地 DTC 属性对话框的安全选项卡。

在该对话框中,我必须启用网络 DTC 访问”以及“允许入站”和“允许出站”。

来源:

msdn forum about this

msdn article about troubleshooting Problems with MSDTC

关于sql-server - SSIS:启用事务导致数据库连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15771134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com