Azure Data Factory复制活动:布尔字段转bit/Int的映射问题
解决方案
方法1:在复制活动映射中单独修改目标字段(推荐)
无需破坏现有导入的映射,仅针对目标布尔字段做转换:
- 打开复制活动的「映射」选项卡,定位到需要转换的布尔字段
- 点击该字段目标列的铅笔图标,切换至「表达式」编辑模式
- 根据目标类型输入转换表达式:
- 转SQL
bit/int类型:toInteger(你的布尔字段名)(true自动转为1,false转为0) - 或者更明确的逻辑控制:
iif(你的布尔字段名, 1, 0)
- 转SQL
- 将目标字段的类型设置为SQL对应的
bit或int,保存设置即可
若当前为「自动映射」模式无法直接编辑单个字段:
- 找到目标布尔字段,点击右侧「...」菜单,选择「转换为手动映射」
- 完成后即可单独编辑该字段的表达式和目标类型,其余字段仍保留自动映射关联,不会被改动
方法2:使用数据流动处理单个字段转换
如果复制活动映射确实没有表达式编辑入口,可以添加前置数据流动做转换:
- 在管道中新增「数据流动」活动,将REST源接入数据流动
- 在数据流动中添加「派生列」转换,仅针对目标布尔字段生成转换后的字段(例如
new_bit_field = toInteger(原布尔字段)) - 将数据流动的输出作为复制活动的源,再写入SQL数据库,原有大量字段的映射可直接复用
内容的提问来源于stack exchange,提问作者Dmitriy Ryabin
相关产品推荐
相关产品推荐

