2017-08-23 52 views
1

我一直在为此工作了几天,无法超越这个错误。我在这个管道中有2项活动。第一个活动将数据从ODBC连接复制到成功的Azure数据库。第二个活动将数据从Azure表传输到另一个Azure表,并保持失败。Azure数据工厂复制活动

的错误信息是: 复制活动遇到无效参数:“UnknownParameterName”,详细信息:用相同的密钥已经被添加的项目..

我看不出有任何的参数无效或未知参数名称。我已多次使用其添加活动代码模板并自行重写了这些内容,但在运行时部署时不会收到任何错误。以下是JSON管道代码。

只有第二个活动接收到错误。

谢谢。

源数据集

{ 
"name": "AnalyticsDB-SHIPUPS_06shp-01src_AZ-915PM", 
"properties": { 
    "structure": [ 
     { 
      "name": "UPSD_BOL", 
      "type": "String" 
     }, 
     { 
      "name": "UPSD_ORDN", 
      "type": "String" 
     } 
    ], 
    "published": false, 
    "type": "AzureSqlTable", 
    "linkedServiceName": "Source-SQLAzure", 
    "typeProperties": {}, 
    "availability": { 
     "frequency": "Day", 
     "interval": 1, 
     "offset": "04:15:00" 
    }, 
    "external": true, 
    "policy": {} 
} 

}

目的数据集

{ 
"name": "AnalyticsDB-SHIPUPS_06shp-02dst_AZ-915PM", 
"properties": { 
    "structure": [ 
     { 
      "name": "SHIP_SYS_TRACK_NUM", 
      "type": "String" 
     }, 
     { 
      "name": "SHIP_TRACK_NUM", 
      "type": "String" 
     } 
    ], 
    "published": false, 
    "type": "AzureSqlTable", 
    "linkedServiceName": "Destination-Azure-AnalyticsDB", 
    "typeProperties": { 
     "tableName": "[olcm].[SHIP_Tracking]" 
    }, 
    "availability": { 
     "frequency": "Day", 
     "interval": 1, 
     "offset": "04:15:00" 
    }, 
    "external": false, 
    "policy": {} 
} 

}

管道

{ 
"name": "SHIPUPS_FC_COPY-915PM", 
"properties": { 
    "description": "copy shipments ", 
    "activities": [ 
     { 
      "type": "Copy", 
      "typeProperties": { 
       "source": { 
        "type": "RelationalSource", 
        "query": "$$Text.Format('SELECT COMPANY, UPSD_ORDN, UPSD_BOL FROM \"orupsd - UPS interface Dtl\" WHERE COMPANY = \\'01\\'', WindowStart, WindowEnd)" 
       }, 
       "sink": { 
        "type": "SqlSink", 
        "sqlWriterCleanupScript": "$$Text.Format('delete imp_fc.SHIP_UPS_IntDtl_Tracking', WindowStart, WindowEnd)", 
        "writeBatchSize": 0, 
        "writeBatchTimeout": "00:00:00" 
       }, 
       "translator": { 
        "type": "TabularTranslator", 
        "columnMappings": "COMPANY:COMPANY, UPSD_ORDN:UPSD_ORDN, UPSD_BOL:UPSD_BOL" 
       } 
      }, 
      "inputs": [ 
       { 
        "name": "AnalyticsDB-SHIPUPS_03shp-01src_FC-915PM" 
       } 
      ], 
      "outputs": [ 
       { 
        "name": "AnalyticsDB-SHIPUPS_03shp-02dst_AZ-915PM" 
       } 
      ], 
      "policy": { 
       "timeout": "1.00:00:00", 
       "concurrency": 1, 
       "executionPriorityOrder": "NewestFirst", 
       "style": "StartOfInterval", 
       "retry": 3, 
       "longRetry": 0, 
       "longRetryInterval": "00:00:00" 
      }, 
      "scheduler": { 
       "frequency": "Day", 
       "interval": 1, 
       "offset": "04:15:00" 
      }, 
      "name": "915PM-SHIPUPS-fc-copy->[imp_fc]_[SHIP_UPS_IntDtl_Tracking]" 
     }, 
     { 
      "type": "Copy", 
      "typeProperties": { 
       "source": { 
        "type": "SqlSource", 
        "sqlReaderQuery": "$$Text.Format('select distinct ups.UPSD_BOL, ups.UPSD_BOL from imp_fc.SHIP_UPS_IntDtl_Tracking ups LEFT JOIN olcm.SHIP_Tracking st ON ups.UPSD_BOL = st.SHIP_SYS_TRACK_NUM WHERE st.SHIP_SYS_TRACK_NUM IS NULL', WindowStart, WindowEnd)" 
       }, 
       "sink": { 
        "type": "SqlSink", 
        "writeBatchSize": 0, 
        "writeBatchTimeout": "00:00:00" 
       }, 
       "translator": { 
        "type": "TabularTranslator", 
        "columnMappings": "UPSD_BOL:SHIP_SYS_TRACK_NUM, UPSD_BOL:SHIP_TRACK_NUM" 
       } 
      }, 
      "inputs": [ 
       { 
        "name": "AnalyticsDB-SHIPUPS_06shp-01src_AZ-915PM" 
       } 
      ], 
      "outputs": [ 
       { 
        "name": "AnalyticsDB-SHIPUPS_06shp-02dst_AZ-915PM" 
       } 
      ], 
      "policy": { 
       "timeout": "1.00:00:00", 
       "concurrency": 1, 
       "executionPriorityOrder": "NewestFirst", 
       "style": "StartOfInterval", 
       "retry": 3, 
       "longRetryInterval": "00:00:00" 
      }, 
      "scheduler": { 
       "frequency": "Day", 
       "interval": 1, 
       "offset": "04:15:00" 
      }, 
      "name": "915PM-SHIPUPS-AZ-update->[olcm]_[SHIP_Tracking]" 
     } 
    ], 
    "start": "2017-08-22T03:00:00Z", 
    "end": "2099-12-31T08:00:00Z", 
    "isPaused": false, 
    "hubName": "adf-tm-prod-01_hub", 
    "pipelineMode": "Scheduled" 
} 

}

回答

0

你见过这个link

他们得到同样的错误信息,并建议使用AzureTableSink代替SqlSink

"sink": { 
        "type": "AzureTableSink", 
        "writeBatchSize": 0, 
        "writeBatchTimeout": "00:00:00" 
       } 

它将使你的感觉也因为你的第二个副本活动是天青天青

0

这可能是一个红色的鲱鱼但我很确定“tableName”是一个sqlSource的typeProperties中的require条目。您的输入数据集缺少此项。欣赏你在sqlReaderQuery中的加入,所以可能最好在那里放一个虚拟(但真实的)表名。 顺便说一句,不清楚为什么你在查询中使用$$ Text.Format和WindowStart/WindowEnd,如果你没有将这些值转换到查询中;你可以把查询放在双引号之间。