For some reason, SSIS’s XML Data source does not allow you to directly access root level attributes. Therefore, we’ve got to use a XML Task and variables in order to pull this data in. Create a variable for every attribute, use the string data type (change later in data flow if need be) Use the following example (fill your own Xpath in the Second Operand) This example will only pull in one value. Should there be multiple attributes with the same name, you’ll have to use a Foreach loop.
At some point you may need to use Xpath from within a script task rather than using Integration Services built in XML Task’s Xpath functionality. Here’s how I implemented it. The primary limitation is that it will only return a single value, but this can be adjusted to return multiple values easily. Chances are you’ll already be using a script task, but incase you don’t, start with a standard Script Task (this can be either a Control Flow Script Task or a Data Flow Script Task). Don’t forget to set your ReadOnly / ReadWrite variables. Here’s the boilerplate code for using … Read More
Reading from variables to augment rows with data from variables isn’t readily apparent in SSIS. A workaround I found was to use a script task right before your OLE DB Destination and access the SSIS variable objects directly. Script Task Setup Start with a standard Script Task in your data flow. Add columns to your output in the ‘Inputs and Outputs’ tab, set the names and output data types appropriately Access Variables in your ‘main’ script section by using the following code IDTSVariables100 vars = null; //Gets reference to the SSIS Variables this.VariableDispenser.LockOneForRead(“session”, ref vars);//Locks the Variable in quotes, for Read … Read More
In order to save your SSIS package built using Business Intelligence Development Studio (BIDS) to Integration Services MSDB, you’ll need to: In BIDS, right-click the solution and select Properties Under Deployment Utility, change the CreateDeploymentUtility option from False to True Rebuild the solution Now find in your solution project folder under the bin\deployment file path an Integration Services Deployment Manifest. Right-click this manifest file and select Deploy. Follow the wizard steps to deploy to your server and choose where to save to the database. The package should then appear in SSIS in SQL Server Management Studio under Integration Services in /MSDB.
Occasionally, I’ve needed to pull XML from the internet via an URL. This allows you to dynamically pull XML from sources than your local.In order to do so, you’ll need a string variable (to populate with the XML from the internet) and the code below in a Script Task. Every time you need to reference the XML in the variable, change your XML Data Sources and XML tasks to pull XML from a variable. string Url = (string)Dts.Variables[“Url”].Value; XmlDocument doc = new XmlDocument(); doc.Load(Url); //You can use a string here if you’d like…I pull from a variable for the URL … Read More