Azure Data factory v2复制活动源值为null接收器值不允许为null

Azure Data factory v2复制活动源值为null接收器值不允许为null,azure,type-conversion,azure-data-factory-2,Azure,Type Conversion,Azure Data Factory 2,我的问题是关于在复制活动期间如何/在何处执行类型转换 我有一个Azure data factory管道,它定义了从data Lake Gen1中的TSV文件到SQL server数据库表的数据导入 TSV文件的架构是:{QueryDate,Count1,Count2} count1和count2可能没有值 TSV文件中的示例数据: 20180717 10 20180717 5 20180717 1 20180717 SQL server表的架构为 {QueryDate(datetime2(7))

我的问题是关于在复制活动期间如何/在何处执行类型转换

我有一个Azure data factory管道,它定义了从data Lake Gen1中的TSV文件到SQL server数据库表的数据导入

TSV文件的架构是:
{QueryDate,Count1,Count2}

count1和count2可能没有值

TSV文件中的示例数据:

20180717 10

20180717 5

20180717 1

20180717

SQL server表的架构为

{QueryDate(datetime2(7)), UserNumber(int), ActiveNumber(int)}
UserNumber和ActiveNumber都有NOTNULL约束

当我在管道中使用复制活动将TSV数据复制到表中时,会出现如下错误:

错误代码“:“2200”,“消息”: “'Type=System.InvalidOperationException,不允许 DBNull.Value

当count1或count2没有值时,我想使用0替换空值。 我认为这不会再导致错误了

但我不知道在哪里以及如何进行这种转换

转换应在源数据集、接收器数据集或复制活动中进行

我也不知道转换的正确语法

我试图设置源数据集格式设置的空值 对于null、0、null等值,但它们都不起作用,我仍然会得到错误

"typeProperties": {
            "format": {
                "type": "TextFormat",
                "columnDelimiter": "\t",
                "nullValue": "NULL",
                "treatEmptyAsNull": true,
                "skipLineCount": 0,
                "firstRowAsHeader": false}, 
           ...
}
我还看到一个问题:


但是它仍然不能解决我的问题。

我认为这个表达式{coalesce(UserNumber,0)}可能会实现转换,但是我仍然不知道该表达式放在哪里。