IDTSVirtualInput100 Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
public interface class IDTSVirtualInput100 : Microsoft::SqlServer::Dts::Pipeline::Wrapper::Sql2014::IDTSObject100
[System.Runtime.InteropServices.Guid("DD9E7F1F-A112-4EBD-9178-EE7DB0F2EDEC")]
[System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)]
public interface IDTSVirtualInput100 : Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2014.IDTSObject100
[<System.Runtime.InteropServices.Guid("DD9E7F1F-A112-4EBD-9178-EE7DB0F2EDEC")>]
[<System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)>]
type IDTSVirtualInput100 = interface
interface IDTSObject100
Public Interface IDTSVirtualInput100
Implements IDTSObject100
- Atributos
- Implementaciones
Ejemplos
El siguiente ejemplo de código muestra cómo usar la entrada virtual para seleccionar las columnas que utiliza un componente al construir programáticamente la tarea de flujo de datos.
Public Sub SelectColumns(ByVal md As IDTSComponentMetaData100)
Dim wrp As CManagedComponentWrapper = md.Instantiate
For Each input As IDTSInput100 In md.InputCollection
Dim vInput As IDTSVirtualInput100 = input.GetVirtualInput
For Each vCol As IDTSVirtualInputColumn100 In vInput.VirtualInputColumnCollection
wrp.SetUsageType(input.ID, vInput, vCol.LineageID, DTSUsageType.UT_READONLY)
Next
Next
End Sub
public void SelectColumns(IDTSComponentMetaData100 md)
{
// Create the design time instance of the component.
CManagedComponentWrapper wrp = md.Instantiate();
// Walk the input collection.
foreach (IDTSInput100 input in md.InputCollection)
{
// Get the virtual input columns.
IDTSVirtualInput100 vInput = input.GetVirtualInput();
// For each virtual column, set its usagetype to READONLY.
foreach (IDTSVirtualInputColumn100 vCol in vInput.VirtualInputColumnCollection)
wrp.SetUsageType(input.ID, vInput, vCol.LineageID, DTSUsageType.UT_READONLY);
}
}
El siguiente ejemplo de código muestra un componente de flujo de datos personalizado que selecciona todas las columnas de DT_STR de la entrada virtual cuando la entrada está conectada a un camino.
public override void OnInputPathAttached(int inputID)
{
IDTSInput100 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);
IDTSVirtualInput100 vInput = input.GetVirtualInput();
foreach (IDTSVirtualInputColumn100 vCol in vInput.VirtualInputColumnCollection)
{
if (vCol.DataType == DataType.DT_STR)
{
this.SetUsageType(inputID, vInput, vCol.LineageID, DTSUsageType.UT_READONLY);
}
}
}
Public Overrides Sub OnInputPathAttached(ByVal inputID As Integer)
Dim input As IDTSInput100 = ComponentMetaData.InputCollection.GetObjectByID(inputID)
Dim vInput As IDTSVirtualInput100 = input.GetVirtualInput
For Each vCol As IDTSVirtualInputColumn100 In vInput.VirtualInputColumnCollection
If vCol.DataType = DataType.DT_STR Then
Me.SetUsageType(inputID, vInput, vCol.LineageID, DTSUsageType.UT_READONLY)
End If
Next
End Sub
Comentarios
El IDTSVirtualInput100 se obtiene llamando al GetVirtualInput método de un IDTSInput100 objeto. La VirtualInputColumnCollection propiedad contiene las columnas que están disponibles desde los componentes aguas arriba en el grafo.
Al construir programáticamente una tarea de flujo de datos, las columnas virtuales se seleccionan para un componente llamando al SetUsageType método de la CManagedComponentWrapperClass.
Los desarrolladores que desarrollan componentes personalizados de flujo de datos utilizan la entrada virtual para descubrir las columnas ascendentes disponibles y, dependiendo del componente, añadir columnas a la entrada basándose en las columnas de la colección virtual.
Dado que la entrada virtual es un reflejo de las columnas aguas arriba, las modificaciones en la entrada virtual o en las columnas de la colección de entradas virtuales no tienen ningún impacto en sí IDTSOutput100 misma.
Propiedades
| Nombre | Description |
|---|---|
| Description | |
| ID | |
| IdentificationString | |
| IsSorted | |
| Name | |
| ObjectType | |
| SourceLocale | |
| VirtualInputColumnCollection | |
Métodos
| Nombre | Description |
|---|---|
| SetUsageType(Int32, DTSUsageType) | |