SSIS 作业失败 - 已添加具有相同键的项目

问题描述 投票:0回答:4

我们的 SSIS 包在运行 2 秒后失败,并出现以下错误:

已添加具有相同密钥的项目。;在 System.ThrowHelper.ThrowArgumentException(ExceptionResource 资源) 在System.Collections.Generic.Dictionary`2.Insert(TKey键,TValue值,布尔添加) 在 Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.ProjectOperator.StartPackage() 在 Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.ProjectOperator.PerformOperation() Transact-SQL 存储过程

我们将 SSIS 包(2016)部署到 MSSQL 上的 SSISDB:13.0.4001.0,我们在同一文件夹中也有环境变量

奇怪的是,在这个项目中我有 5 个包运行正常(不同的工作),但只有 1 个失败(它有自己的工作)

  1. 我已经删除了重新创建的文件夹/环境变量/作业 - 相同的结果
  2. 我确保我有不同的环境变量文件夹名称
  3. 我们使用不同的用户运行该作业,其中 2 名是数据库管理员
  4. 我们有其他具有相同配置和项目(2 个 QA 环境)的服务器,它们的工作原理相同,但还可以!

我需要直接进入MSDB并删除一行吗?哪里?

感谢任何想法——谢谢大家


我找到了错误和解决方案😊

我似乎部署了一个具有 2 个相同名称的 SMTP 连接的包(一个作为项目连接,另一个与包连接同名) 我删除了不必要的包(在我的例子中删除了包)并部署了固定包。 现在,作业已成功运行,仅调用一个连接。

  1. 我错过了错误本身的正确错误处理,因为它没有引导我到特定的连接
  2. 该包在运行时验证失败 – 因此没有错误日志可以提供帮助
  3. 我从 [SSISDB].[catalog].[execution_parameter_values] 运行查询,并对成功运行与失败运行进行比较,然后我注意到相同的命名连接

感谢您的评论!

尤尼

sql-server ssis
4个回答
12
投票

我找到了错误和解决方案😊

我似乎部署了一个具有 2 个相同名称的 SMTP 连接的包(一个作为项目连接,另一个与包连接同名) 我删除了不必要的包(在我的例子中删除了包)并部署了固定包。 现在,作业已成功运行,仅调用一个连接。

  1. 我错过了错误本身的正确错误处理,因为它没有引导我到特定的连接
  2. 该包在运行时验证失败 – 因此没有错误日志可以提供帮助
  3. 我从 [SSISDB].[catalog].[execution_parameter_values] 运行查询,并对成功运行与失败运行进行比较,然后我注意到相同的命名连接

感谢您的评论!

尤尼


1
投票

当我复制现有包并更改表名 xcel 工作表名称时,我遇到了同样的问题。重建解决方案或重新打开视觉工作室为我解决了问题


0
投票

我遇到这个问题是因为我将包连接管理器从包 A 转换为项目连接管理器,同时包 B 中也有一个同名的包连接管理器。我意外地在两个包中都获得了连接管理器,因为我复制了一些组件结束了。

通过从包 B 中删除包连接管理器已修复此问题。


0
投票

当我查找另一个有两列没有名称的查询时,我遇到了这个问题。当我为这两列提供所需的别名时,错误消失了。

这意味着:

已添加具有相同密钥的项目。

可以提示以 NULL 作为列名或具有相同列名的两列。

© www.soinside.com 2019 - 2024. All rights reserved.