Azure数据工厂v2副本活动源值为空不允许接收器值为空

时间:2018-07-18 08:11:08

标签: azure type-conversion azure-data-factory-2

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

我有一个Azure数据工厂管道,该管道定义了从Data Lake Gen1中的TSV文件到SQL Server数据库表的数据导入。

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

count1和count2可能没有值。

TSV文件中的示例数据:

20180717 10

20180717 5 5

20180717 7 1

20180717 7

SQL服务器表的架构为

{QueryDate(datetime2(7)), UserNumber(int), ActiveNumber(int)}

UserNumber和ActiveNumber都没有Not null约束。

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

  

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

当count1或count2没有值时,我想用0代替空值。 而且我认为这将不再导致错误。

但是我不知道在哪里以及如何执行此转换。

转换应该在源数据集,接收器数据集中还是在复制活动中?

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

我正在尝试设置源数据集格式设置的nullValue 的值为null,0,NULL,但是它们都不起作用,我仍然会收到错误消息。

"typeProperties": {
            "format": {
                "type": "TextFormat",
                "columnDelimiter": "\t",
                "nullValue": "NULL",
                "treatEmptyAsNull": true,
                "skipLineCount": 0,
                "firstRowAsHeader": false}, 
           ...
}

我还看到了一个问题:Azure Data Factory - can't convert from "null" to datetime field

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

0 个答案:

没有答案