You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Biml查询带别名列的表:解决SSIS列名重复报错问题

解决SSIS错误输出列名冲突的Biml修改方案

当表中存在ErrorCode、ErrorColumn列时,SSIS错误输出自动生成的同名列会导致冲突报错,只需在Biml生成的SQL查询中为这两个列添加别名即可解决。

修改后的Biml代码如下:

<DirectInput>
    SELECT <#=tbl.GetColumnList(c => 
        c.Name == "ErrorCode" ? $"a.{c.Name} AS MyErrorCode" :
        c.Name == "ErrorColumn" ? $"a.{c.Name} AS MyErrorColumn" :
        $"a.{c.Name}"
    )#> 
    FROM <#=tbl.SchemaQualifiedName#> a WITH (NOLOCK) 
    ORDER BY <#=tbl.GetColumnList(c => c.IsUsedInPrimaryKey,"a")#>
</DirectInput>

修改说明

  • 重写GetColumnList的列处理逻辑:对每个列名做判断,若为ErrorCode或ErrorColumn,则生成带别名的列引用(比如a.ErrorCode AS MyErrorCode);其他列保持原有格式。
  • 生成的SQL会自动为冲突列添加别名,避免与SSIS错误输出的默认列名重复。
  • ORDER BY部分无需修改,直接使用原表列名即可正常排序。

内容的提问来源于stack exchange,提问作者JoshuaG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 05:12:33