Azure数据工厂数据流源查询对FOR JSON AUTO的支持

问题描述

我正在尝试使用以下查询作为我的数据流的源,但是我不断收到错误。数据流不支持功能吗?

    for(int i = 0; i < guessed.size(); ++i)
    {
        if(guessed[i])
        {
            std::cout << static_cast<char>(i + 'A') << ",";
        }
    }

我收到以下错误

SELECT  customer.customerid  AS 'customerid',customer.customer_fname AS 'fname',customer.customer_lname AS 'lname',customer.customer_phone AS 'Phone',address.customer_addressid as 'addressid',address.Address_type as 'addresstype',address.street1  as 'street1'
FROM customer customer  
   INNER JOIN customer_address address
     ON customer.customerid = address.customerid  
order by customer.customerid
FOR JSON AUTO,ROOT('customer')

ADF V2,数据流,源

解决方法

该错误是由于数据流查询不支持order by语句而不是“ FOR JOSN AUTO”引起的。

请参见下面的错误: enter image description here

请参考数据Flow Source transformation

查询:如果您在输入字段中选择查询,请为您的源输入一个SQL查询。此设置将覆盖您在数据集中选择的任何表。 此处不支持Order By子句,但是您可以设置完整的SELECT FROM语句。您还可以使用用户定义的表函数。 select * from udfGetData()是SQL中的UDF,它返回一个表。该查询将产生一个源表,您可以在数据流中使用它。使用查询也是减少用于测试或查找的行的好方法。

SQL Example: Select * from MyTable where customerId > 1000 and customerId < 2000

该查询在“复制活动”中运行良好,但在“数据流”中为false。您需要更改查询。