Thank you for the article! I do have a question though. In the last section of the article, it looks like "user::filename" variable is used twice. First time it's used to populate the resultset obtained after running the Execute SQL task (this resultset holds the list of our filenames). Then it's leveraged in the "For Each Loop" as ADO object source variable. So far so good.
However next, we use it again in the Variable Mapping screen of the "For Each Loop" to populate individual elements (file names) as we loop through the collection. I don't think you can do this, it should be a different variable of type "string".