【问题标题】:Azure Data Factory - Copy Activity - Auto Create Table doesn't workAzure 数据工厂 - 复制活动 - 自动创建表不起作用
【发布时间】:2020-03-19 20:16:47
【问题描述】:

当您在接收器设置中选择自动创建表格时,ADF 复印活动不起作用。 更具体地说,在我的场景中,我使用动态脚本将表从 SQL Server ContosoRetailDW 数据库复制到 SQL Azure。 如果我的源表具有类似几何的字段或具有在字符串中包含括号的 nvarchar 字段,则它会失败。 迄今为止失败的表包括 DimCustomer、DimEmployee、DimGeography。 相同的代码适用于大多数其他表。 不确定此功能在发布前是否经过测试。

复制活动中的示例代码:

来源查询:

SELECT * FROM  @{item().SourceSchema}.@{item().SourceObject} 

接收器设置:

Table Option: "Auto Create Table" is selected
Pre-Copy Script: DROP TABLE IF EXISTS @{item().SinkSchema}.@{item().SinkObject}

就像我说的那样,当我运行它时,这适用于大多数表,但在表具有几何字段或 nvarchar 字段字符串的情况下失败,该字符串在字符串中包含括号等内容。 失败表汇总:

  • DimCustomer - 字段:电话数据类型:nvarchar(20) -- 失败,因为字符串中有括号
  • DimEmoloyee - 字段:电话数据类型:nvarchar(25) - 失败,因为字符串中有括号
  • DimGeography - 字段:Geometry 数据类型:Geometry -- 在此数据类型中失败

此功能会在不久的将来版本中修复吗?

【问题讨论】:

    标签: azure azure-data-factory


    【解决方案1】:

    我不确定您是否看过这个,但复制活动不支持所有数据类型。请找到提到的列表here

    【讨论】:

    • 谢谢。这是一个小列表,缺少一些高度使用的数据类型,如 char、varchar、nvarchar 等。所以你是说复制活动不支持这些,那么不要指望自动创建表能够工作。我觉得不太对劲。特别是考虑到我使用的是 Microsoft 数据库 SQL Server 和 Azure SQL。
    • 很抱歉这么晚才回复。在您的场景中,名称中的括号(例如,如果您 CREATE TABLE (sometesttable (id int) 错误输出 Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '(' .
    猜你喜欢
    • 2021-07-02
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 2021-06-10
    • 2019-11-20
    相关资源
    最近更新 更多