ASExecuteDDLTask.Source Propiedad

Definición

Obtiene o establece el nombre del origen que contiene la instrucción DDL que se va a enviar al servidor de Analysis Services.

public:
 property System::String ^ Source { System::String ^ get(); void set(System::String ^ value); };
public string Source { get; set; }
member this.Source : string with get, set
Public Property Source As String

Valor de propiedad

String

Nombre del origen que contiene la instrucción DDL que se va a enviar al servidor de Analysis Services.

Ejemplos

En el siguiente ejemplo de código se crea, configura y ejecuta un nuevo ASExecuteDDLTask que carga la instrucción DDL para ejecutar desde una conexión de archivos. En el ejemplo se usa la Source propiedad.

using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.DataTransformationServices.Tasks.DTSProcessingTask;  

class Module1  
{  

  public static void Main()  
  {  

    Package pkg = new Package();  

    ConnectionManager asCM;  
    asCM = pkg.Connections.Add("MSOLAP100");  
    asCM.Name = "Analysis Services Connection Manager";  
    asCM.ConnectionString = "Data Source=<servername>;" +  
      "Initial Catalog=Adventure Works DW;Provider=MSOLAP;" +  
      "Integrated Security=SSPI;Impersonation Level=Impersonate;";  

    ConnectionManager cmdCM;  
    cmdCM = pkg.Connections.Add("FILE");  
    cmdCM.Name = "Command Source Connection Manager";  
    cmdCM.ConnectionString = "C:\\ddltest.txt";  

    Executable exe = pkg.Executables.Add("Microsoft.DataTransformationServices.Tasks.DTSProcessingTask.ASExecuteDDLTask, " +  
      "Microsoft.SqlServer.ASTasks, Version=10.0.0.0, " +  
      "Culture=neutral, PublicKeyToken=89845dcd8080cc91");  
    TaskHost thTask = (TaskHost) exe;  
    {  
      thTask.Properties("ConnectionName").SetValue(thTask, "Analysis Services Connection Manager");  
      thTask.Properties("SourceType").SetValue(thTask, DDLSourceType.FileConnection);  
      thTask.Properties("Source").SetValue(thTask, "Command Source Connection Manager");  
    }  

    DTSExecResult valResults = pkg.Validate(pkg.Connections, pkg.Variables, null, null);  

    if (valResults==DTSExecResult.Success)  
    {  
      pkg.Execute();  
    }  

  }  

}  
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.DataTransformationServices.Tasks.DTSProcessingTask  

Module Module1  

  Sub Main()  

    Dim pkg As New Package  

    Dim asCM As ConnectionManager  
    asCM = pkg.Connections.Add("MSOLAP100")  
    asCM.Name = "Analysis Services Connection Manager"  
    asCM.ConnectionString = "Data Source=<servername>;" & _  
      "Initial Catalog=Adventure Works DW;Provider=MSOLAP;" & _  
      "Integrated Security=SSPI;Impersonation Level=Impersonate;"  

    Dim cmdCM As ConnectionManager  
    cmdCM = pkg.Connections.Add("FILE")  
    cmdCM.Name = "Command Source Connection Manager"  
    cmdCM.ConnectionString = "C:\ddltest.txt"  

    Dim exe As Executable = pkg.Executables.Add( _  
      "Microsoft.DataTransformationServices.Tasks.DTSProcessingTask.ASExecuteDDLTask, " & _  
      "Microsoft.SqlServer.ASTasks, Version=10.0.0.0, " & _  
      "Culture=neutral, PublicKeyToken=89845dcd8080cc91")  
    Dim thTask As TaskHost = CType(exe, TaskHost)  
    With thTask  
      .Properties("ConnectionName").SetValue(thTask, _  
        "Analysis Services Connection Manager")  
      .Properties("SourceType").SetValue(thTask, DDLSourceType.FileConnection)  
      .Properties("Source").SetValue(thTask, "Command Source Connection Manager")  
    End With  

    Dim valResults As DTSExecResult = pkg.Validate( _  
      pkg.Connections, pkg.Variables, Nothing, Nothing)  

    If valResults = DTSExecResult.Success Then  
      pkg.Execute()  
    End If  

  End Sub  

End Module  

Comentarios

Esta propiedad funciona con la SourceType propiedad. Si el tipo de origen es una variable y la variable es null, el String devuelto está vacío. Si el tipo de origen es una conexión y se produce un error al recuperar la conexión, el String devuelto está vacío.

La instrucción DDL consta de una instrucción XML for Analysis (XMLA) que contiene los Create comandos XMLA, Alter o Delete , en un formato similar al del ejemplo siguiente:

<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">

<ParentObject>

<DatabaseID>Adventure Works DW</DatabaseID>

</ParentObject>

<ObjectDefinition>

<Dimension xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<ID>Dim Customer</ID>

<Name>Customer</Name>

<Annotations>

...

</Annotations>

<Source xsi:type="DataSourceViewBinding">

<DataSourceViewID>Adventure Works DW</DataSourceViewID>

</Source>

<Type>Customers</Type>

<Language>1033</Language>

<Collation>Latin1_General_CI_AS</Collation>

<UnknownMemberName>Unknown</UnknownMemberName>

<Translations>

...

</Translations>

<Attributes>

...

</Attributes>

...

</Dimension>

</ObjectDefinition>

</Create>

Se aplica a