Azure Data factory v2复制活动源值为null接收器值不允许为null
我的问题是关于在复制活动期间如何/在何处执行类型转换 我有一个Azure data factory管道,它定义了从data Lake Gen1中的TSV文件到SQL server数据库表的数据导入 TSV文件的架构是: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))
{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)}可能会实现转换,但是我仍然不知道该表达式放在哪里。