none
Error while executing a Copy activity..Need Help!! RRS feed

  • Question

  • Hello All,

    I have a simple ADF pipeline that runs as follows

    1) Lookup activity - that connects source Azure SQL DB, invokes a stored procedure that returns details like comma separated column names, table names and the WHERE clause - which I intend to construct the query in the COPY activity.

    2) The result could be multiple rows.

    3) Using FORNEXT activity I am iterating through the results and invoking the COPY activity. 

    4) When I execute the pipleline, the COPY activity fails with the following message

    "errorCode": "2200", "message": "'Type=System.InvalidOperationException,Message=Cannot access destination table '[[dbo]].[test]]]'.,Source=System.Data,''Type=System.Data.SqlClient.SqlException,Message=Invalid object name '[dbo].[test]'.,Source=.Net SqlClient Data Provider,SqlErrorNumber=208,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=208,State=1,Message=Invalid object name '[dbo].[test]'.,},],'", "failureType": "UserError", "target": "Copy data", "details": []

    IR report shows the pipeline statistics as 1 rows read and o rows written. So, I presume that there is some issue with the destination.

    Also, please note that I have attached the main and child pipeline with sink and source configuration.

    FYI...the user credentials I used has the db_ownerrole for both source and destination database.

    I have spent enough time on this but somehow I am not able to fix this. Looks like something minor that I am ovelooking. Appreciate any help tin resolving this issue.

    Below are the scripts

    "name": "pipeline2",
        "properties": {
            "activities": [
                {
                    "name": "LookupTableList",
                    "type": "Lookup",
                    "dependsOn": [],
                    "policy": {
                        "timeout": "7.00:00:00",
                        "retry": 0,
                        "retryIntervalInSeconds": 30,
                        "secureOutput": false,
                        "secureInput": false
                    },
                    "userProperties": [],
                    "typeProperties": {
                        "source": {
                            "type": "AzureSqlSource",
                            "sqlReaderStoredProcedureName": "[dbo].[TableListSelect]",
                            "storedProcedureParameters": {
                                "TableType": {
                                    "value": "CM"
                                }
                            }
                        },
                        "dataset": {
                            "referenceName": "CopyofSink",
                            "type": "DatasetReference",
                            "parameters": {
                                "DWTableName": "dummy"
                            }
                        },
                        "firstRowOnly": false
                    }
                },
                {
                    "name": "InvkeCopyPipeline",
                    "type": "ExecutePipeline",
                    "dependsOn": [
                        {
                            "activity": "LookupTableList",
                            "dependencyConditions": [
                                "Succeeded"
                            ]
                        }
                    ],
                    "userProperties": [],
                    "typeProperties": {
                        "pipeline": {
                            "referenceName": "Copy",
                            "type": "PipelineReference"
                        },
                        "waitOnCompletion": true,
                        "parameters": {
                            "tableList": {
                                "value": "@activity('LookupTableList').output",
                                "type": "Expression"
                            }
                        }
                    }
                }
            ],
            "annotations": []
        },
        "type": "Microsoft.DataFactory/factories/pipelines"
    }

     "name": "Copy",
        "properties": {
            "activities": [
                {
                    "name": "Iterate Tables",
                    "type": "ForEach",
                    "dependsOn": [],
                    "userProperties": [],
                    "typeProperties": {
                        "items": {
                            "value": "@pipeline().parameters.tableList.value",
                            "type": "Expression"
                        },
                        "isSequential": true,
                        "activities": [
                            {
                                "name": "Copy data",
                                "type": "Copy",
                                "dependsOn": [],
                                "policy": {
                                    "timeout": "7.00:00:00",
                                    "retry": 0,
                                    "retryIntervalInSeconds": 30,
                                    "secureOutput": false,
                                    "secureInput": false
                                },
                                "userProperties": [],
                                "typeProperties": {
                                    "source": {
                                        "type": "AzureSqlSource",
                                        "sqlReaderQuery": {
                                            "value": "SELECT @{item().ColumnList},@{pipeline().parameters.TenantIDColValue} as TenantId FROM @{item().SchemaName}.@{item().TableName}",
                                            "type": "Expression"
                                        }
                                    },
                                    "sink": {
                                        "type": "AzureSqlSink",
                                        "disableMetricsCollection": false
                                    },
                                    "enableStaging": false
                                },
                                "inputs": [
                                    {
                                        "referenceName": "CopyOfSource",
                                        "type": "DatasetReference",
                                        "parameters": {
                                            "DWTableName": "dummy"
                                        }
                                    }
                                ],
                                "outputs": [
                                    {
                                        "referenceName": "CopyofSink",
                                        "type": "DatasetReference",
                                        "parameters": {
                                            "DWTableName": "[@{item().SchemaName}].[@{item().TableName}]"
                                        }
                                    }
                                ]
                            }
                        ]
                    }
                }
            ],
            "parameters": {
                "TenantIDColValue": {
                    "type": "string",
                    "defaultValue": "'testtenant'"
                },
                "tableList": {
                    "type": "object"
                }
            },
            "annotations": []
        },
        "type": "Microsoft.DataFactory/factories/pipelines"
    }

    {
        "name": "CopyOfSource",
        "properties": {
            "linkedServiceName": {
                "referenceName": "SourceDS",
                "type": "LinkedServiceReference"
            },
            "parameters": {
                "DWTableName": {
                    "type": "string"
                }
            },
            "annotations": [],
            "type": "AzureSqlTable",
            "schema": [],
            "typeProperties": {
                "table": {
                    "value": "@dataset().DWTableName",
                    "type": "Expression"
                }
            }
        },
        "type": "Microsoft.DataFactory/factories/datasets"
    }

    {
        "name": "CopyofSink",
        "properties": {
            "linkedServiceName": {
                "referenceName": "DestDB",
                "type": "LinkedServiceReference"
            },
            "parameters": {
                "DWTableName": {
                    "type": "string",
                    "defaultValue": "dummy"
                }
            },
            "annotations": [],
            "type": "AzureSqlTable",
            "schema": [],
            "typeProperties": {
                "table": {
                    "value": "@dataset().DWTableName",
                    "type": "Expression"
                }
            }
        },
        "type": "Microsoft.DataFactory/factories/datasets"
    }

    TIA,

    -Prem


    

    Saturday, December 7, 2019 9:10 AM

Answers