Oggi mi sono imbattuto nella necessità di impostare la Custom Property
OpenRowset di un Data Flow Component (un OLE DB Source per la precisione) all'interno di un Data Flow Task. Combinando Google, MSDN, intuito e designer di Visual Studio :), sono riuscito nel mio intento tramite il seguente codice:
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper; // Classi e interfacce per creare Data Flow Components ed automatizzare Data Flow Tasks
...
TaskHost MyTaskHost = (TaskHost)package.Executables[0]; // Attenzione all'ordinale ;)
// MainPipe: wrapper per configurare un Data Flow Task programmaticamente
MainPipe dataFlowTask = MyTaskHost.InnerObject as MainPipe;
// Ciascun componente del Data Flow Task è rappresentato da un ComponentMetadata
IDTSComponentMetaData90 MyComponentMetadata = dataFlowTask.ComponentMetaDataCollection["MyComponentName"];
// Accesso alla Custom Property "OpenRowset"
IDTSCustomProperty90 CustomProperty = MyComponentMetadata.CustomPropertyCollection["OpenRowset"];
CustomProperty.Value = "MyValue";
...