Search code examples
sql-serverssissql-server-2012ezapi

How to set Query Parameters


How to map the OLE DB source SQL command query parameters with variables using EzAPI ? Basically I need to do something like below.

enter image description here

Thanks in advance.


Solution

  • Here is how I had to do it for SSIS 2012. I had to find the GUID of the variable in question and set it that way.

    EzOleDbSource source = new EzOleDbSource(this);
    source.Connection = sourceconnection;
    source.SqlCommand = sourcecomannd;
    source.AccessMode = AccessMode.AM_SQLCOMMAND;
    source.SetComponentProperty("ParameterMapping", "\"Parameter0:Input\",{C2BCD5B0-1FDB-4A74-8418-EEF9C1D19AC3};");
    

    To get the GUID you can query the Variables in the EZPackage object.

    Application a = new Application();
    var package = a.LoadPackage(packagelocation, null);
    var ezpackage = new EzPackage(package);
    var firstOrDefault = ezpackage.Variables.OfType<Microsoft.SqlServer.Dts.Runtime.Variable>()
        .AsQueryable()
        .FirstOrDefault(x => x.Name.Equals("MyParameter"));
    if (firstOrDefault != null)
    {
        var guid =
            firstOrDefault.ID;
    }