我每天早上都运行一个SQL Server作业。它存在于我无法访问的环境中。
此作业运行多个SSIS包。它运行的第一个包非常简单。它有5个基本步骤:
nvarchar(255)
。这很好。我不在SSIS包本身中使用游标。我在下面列出了错误:
OLE DB记录可用。来源:“用于SQL Server的Microsoft OLE DB提供程序”Hresult:0x80004005说明:“无法完成游标操作,因为在声明游标后表格架构已更改。”结束错误
此错误还引用了两个组件:
OLE DB目标[25]描述:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “输入”OLE DB目标输入“(38)”失败,因为发生错误代码0xC020907B,并且“输入”OLE DB目标输入“(38)”上的错误行处置指定错误失败。
我没有在此SSIS包中构建或使用游标。我正在进行的唯一数据库更改是构建临时表。
我正在使用的联系人对此进行故障排除说它可能是由NULL值引起的,但是,我的所有列都是NULLable。
答案 0 :(得分:0)
显然,SSIS在内部使用游标来处理你需要的一些任务 - 对于MS开发人员来说,使用游标是很常见的。您可以尝试通过运行项目并禁用任务并运行任务或通过非常仔细地阅读进度选项卡来隔离错误输出的任务。
我会尝试,对于执行SQL任务,将旁路准备转为true并再次尝试任务。
答案 1 :(得分:0)
事实证明,环境是以需要重建数据库索引的方式修补的。因此,架构与执行包时存储的元数据不同。
我确信这个错误有多个原因,但这就是我们发生的事情。
感谢所有评论的人。
答案 2 :(得分:0)
运行使用SCD组件作为维度表的包时,我们遇到了相同的错误消息。根据重建索引的建议为我们工作。但是我们执行了两个动作。确切地说,我们做了以下事情: