locked
Calling USQL from ADF RRS feed

  • Question

  • Hi,

    I am calling USQL from ADF, and passing parameters to it using EXTERNAL keyword. its working for 3 string parameters but not for the fourth int type. Its throwing below error.

    E_CSC_USER_VARIABLETYPEDOESNOTMATCHEXTERNALDECLARATION, Error Message: Variable or parameter @FolderID1 is declared as a string while its EXTERNAL declaration is of type int.. Error Id: E_CSC_USER_INVALIDCSHARP_0029, Error Message: C# error CS0029: Cannot implicitly convert type 'string' to 'int'.

    I am passing int value from ADF, EXTERNAL is defined as int, from there I am calling a procedure in ADLA Catalog DB, where the input parameter type is int again, its loading that data to a table in catalog which too has int datatype. I am not able to pin point the root cause, could you please suggest if I am missing anything here. 

    Thanks,

    Amit Agrawal


    Monday, March 11, 2019 1:34 PM

Answers

  • Hello AgrawAmit.  Could you share a screenshot or some code so I have a better idea of what dynamic content you may be using?  There are a number of places things could go wrong.

    One possibility is in how the parameter is referenced.  An excerpt from

    https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions

    JSON value Result
    "@pipeline().parameters.myString" Returns foo as a string.
    "@{pipeline().parameters.myString}" Returns foo as a string.
    "@pipeline().parameters.myNumber" Returns 42 as a number.
    "@{pipeline().parameters.myNumber}" Returns 42 as a string.

    Wednesday, March 13, 2019 12:41 AM

All replies

  • Hello AgrawAmit.  Could you share a screenshot or some code so I have a better idea of what dynamic content you may be using?  There are a number of places things could go wrong.

    One possibility is in how the parameter is referenced.  An excerpt from

    https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions

    JSON value Result
    "@pipeline().parameters.myString" Returns foo as a string.
    "@{pipeline().parameters.myString}" Returns foo as a string.
    "@pipeline().parameters.myNumber" Returns 42 as a number.
    "@{pipeline().parameters.myNumber}" Returns 42 as a string.

    Wednesday, March 13, 2019 12:41 AM
  • Thank you for marking as answered.
    Friday, June 28, 2019 8:30 PM