Staging issue for Copy data using non-standard table name

  • This is an issue I've encountered in ADF/Synapse Pipelines when looking to Ingest a table from SAP that have non-standard characters in them.  The copy bombs out giving an error message:

    {
    "errorCode": "2200",
    "message": "Failure happened on 'Sink' side. ErrorCode=AdlsGen2OperationFailed,
    'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=ADLS Gen2 operation failed for:
    Operation returned an invalid status code 'BadRequest'. Account: 'ingvdatalakenp'. FileSystem: 'staging'.
    Path: '58ab6057-080e-42ad-9a66-0482495c2d97/Polybase//SAPSLL/CLSNRT.txt'. Message: 'The request URI is invalid.'. RequestId: '91d02441-701f-0006-7a97-389f82000000'. TimeStamp: 'Tue, 15 Mar 2022 18:06:37 GMT'..,Source=Microsoft.DataTransfer.ClientLibrary,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=The file name '58ab6057-080e-42ad-9a66-0482495c2d97/Polybase//SAPSLL/CLSNRT.txt' does not conform to the naming rules by the data store 'Azure Data Lake Storage Gen2'.,Source=,''Type=Microsoft.Azure.Storage.Data.Models.ErrorSchemaException,Message=Operation returned an invalid status code 'BadRequest',Source=Microsoft.DataTransfer.ClientLibrary,'",
    "failureType": "UserError",
    "target": "Copy SAP Table to Synapse",
    "details": []
    }

    So, I'm ingesting a table from SAP called /SAPSLL/CLSNRT and using Polybase as the copy method.

    I have an input parameter that copies to a variable called vTableName where

    vTableName = "/SAPSLL/CLSNRT"

    I then have another input parameter that copies to a variable called vDestinationTableName where

    vDestinationTableName = "SAPSLL_CLSNRT"

    (Note for the vDestinationTableName I remove the forward-slash / characters

    This is the sink settings on the Copy data activity

    ADF_SAPBadTableName_Sink

    The problem is coming from vTableName as ADF uses this as part of the Staging destination, so it tries to copy to the following destinations:

    58ab6057-080e-42ad-9a66-0482495c2d97/Polybase//SAPSLL/CLSNRT.txt

    so I get an error message of "The request URI is invalid"

    Is there a way I can override the automatic ADLS destintation as the input to the Staging ADLS asks for a Linked Service, not a dataset.  Polybase requires data to be staged as does

    ADF_SAPBadTableName_Settings

  • Thanks for posting your issue and hopefully someone will answer soon.

    This is an automated bump to increase visibility of your question.

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply