我有一个将数据插入表的 SSIS 流。在更新数据模型并添加计算列之前,此流程一直运行良好。现在,当我尝试加载数据时,出现以下错误:
SQL Server 错误消息 - 消息 271 - 列 '' 无法修改,因为它要么是计算列,要么是 UNION 运算符的结果。
我在这里找到了对此错误消息的一个很好的解释:SQL Server Error Messages - Msg 271
我联系 StackOverflow 的原因是因为该列实际上没有映射到我的 SSIS 流中。这意味着我的 OLEDB 目标组件知道该列的存在,但它的映射设置为<ignore column>
. 这是我处理其他列(例如生成的 ID)的方式,它总是可以正常工作。
因此,问题是:为什么我会收到此错误消息?
我的想法是,SSIS 可能会自动生成将null
值映射到此计算列的 SQL 插入语句。如果是这种情况,有没有办法强制 SSIS 完全忽略该列的存在?