Creazione di un pacchetto a livello di programmazioneCreating a Package Programmatically

L'oggetto Package rappresenta il contenitore di livello principale per tutti gli altri oggetti di una soluzione di progetto di SSISSSIS.The Package object is the top-level container for all other objects in an SSISSSIS project solution. Essendo il contenitore di livello principale, il pacchetto è il primo oggetto creato. Gli oggetti successivi vengono aggiunti e quindi eseguiti nel contesto del pacchetto.As the top-level container, the package is the first object created, and subsequent objects are added to it, and then executed within the context of the package. Il pacchetto non sposta né trasforma dati,The package itself does not move or transform data. ma si basa sulle attività che contiene per eseguire questa operazione.The package relies on the tasks it contains to perform the work. Le attività eseguono la maggior parte delle operazioni del pacchetto e ne definiscono la funzionalità.Tasks perform most of the work performed by a package, and define the functionality of a package. Per creare un pacchetto sono sufficienti tre righe di codice, ma vengono aggiunti vari oggetti ConnectionManager e attività per fornire funzionalità aggiuntive.A package is created and executed with just three lines of code, but various tasks and ConnectionManager objects are added to give additional functionality to your package. In questa sezione viene descritto come creare un pacchetto a livello di programmazione.This section discusses how to programmatically create a package. Non vengono fornite informazioni sulla creazione di attività o di oggetti ConnectionManager,It does not provide information about how to create the tasks or the ConnectionManager. che verranno descritti nelle sezioni successive.These are covered in later sections.

EsempioExample

Per scrivere codice utilizzando l'IDE di Visual Studio, è necessario un riferimento a Microsoft.SqlServer.ManagedDTS.dll per creare un'istruzione using (Imports in Visual Basic .NET) in Microsoft.SqlServer.Dts.Runtime.To write code using the Visual Studio IDE, a reference to Microsoft.SqlServer.ManagedDTS.DLL is required in order to create a using statement (Imports in Visual Basic .NET) to the Microsoft.SqlServer.Dts.Runtime. Nell'esempio di codice seguente è illustrata la creazione di un pacchetto vuoto.The following code sample demonstrates creating an empty package.

using System;  
using Microsoft.SqlServer.Dts.Runtime;  

namespace Microsoft.SqlServer.Dts.Samples  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      Package package;  
      package = new Package();  
    }  
  }  
}  
Imports Microsoft.SqlServer.Dts.Runtime  

Module Module1  

  Sub Main()  

    Dim package As Package  
    package = New Package  

  End Sub  

End Module  

Per compilare ed eseguire l'esempio, premere F5 in Visual Studio.To compile and run the sample, press F5 in Visual Studio. Per compilare il codice utilizzando il compilatore c#, csc.exe, al prompt dei comandi per la compilazione, utilizzare il comando seguente e i riferimenti, la sostituzione di file di <filename > con il nome del file con estensione cs o vb e assegnando un <outputfilename > di propria scelta.To build the code using the C# compiler, csc.exe, at the command prompt to compile, use the following command and file references, replacing the <filename> with the name of the .cs or .vb file, and giving it an <outputfilename> of your choice.

csc /target: library /out: <outputfilename > DLL <filename >. cs /r:Microsoft.SqlServer.Managed DTS "System.dllcsc /target:library /out: <outputfilename>.dll <filename>.cs /r:Microsoft.SqlServer.Managed DTS.dll" /r:System.dll

Per compilare il codice utilizzando il compilatore Visual Basic .NET, vbc.exe, al prompt dei comandi per la compilazione, utilizzare il comando seguente e i riferimenti di file.To build the code using the Visual Basic .NET compiler, vbc.exe, at the command prompt to compile, use the following command and file references.

/target: library vbc /out: <outputfilename > DLL <filename > VB /r:Microsoft.SqlServer.Managed DTS "System.dllvbc /target:library /out: <outputfilename>.dll <filename>.vb /r:Microsoft.SqlServer.Managed DTS.dll" /r:System.dll

È anche possibile creare un pacchetto caricando un pacchetto esistente salvato su disco, nel file system o in SQL ServerSQL Server.You can also create a package by loading an existing package that was saved on disk, in the file system, or to SQL ServerSQL Server. La differenza è che il Application oggetto viene prima creato e quindi l'oggetto pacchetto viene inserito uno dei metodi di overload dell'applicazione: LoadPackage per file flat, LoadFromSQLServer per i pacchetti salvati in SQL ServerSQL Server, o LoadFromDtsServer per i pacchetti salvati nel file System.The difference is that the Application object is first created, and then the package object is filled by one of the Application's overloaded methods: LoadPackage for flat files, LoadFromSQLServer for packages saved to SQL ServerSQL Server, or LoadFromDtsServer for packages saved to the file system. Nell'esempio seguente viene caricato un pacchetto esistente da disco, quindi vengono visualizzate diverse proprietà del pacchetto.The following example loads an existing package from disk, and then views several properties on the package.

using System;  
using Microsoft.SqlServer.Dts.Runtime;  

namespace Microsoft.SqlServer.Dts.Samples  
{  
  class ApplicationTests  
  {  
    static void Main(string[] args)  
    {  
      // The variable pkg points to the location of the  
      // ExecuteProcess package sample that was installed with  
      // the SSIS samples.  
      string pkg = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" +  
        @"\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx";  

      Application app = new Application();  
      Package p = app.LoadPackage(pkg, null);  

      // Now that the package is loaded, we can query on  
      // its properties.  
      int n = p.Configurations.Count;  
      DtsProperty p2 = p.Properties["VersionGUID"];  
      DTSProtectionLevel pl = p.ProtectionLevel;  

      Console.WriteLine("Number of configurations = " + n.ToString());  
      Console.WriteLine("VersionGUID = " + (string)p2.GetValue(p));  
      Console.WriteLine("ProtectionLevel = " + pl.ToString());  
      Console.Read();  
    }  
  }  
}  
Imports Microsoft.SqlServer.Dts.Runtime  

Module ApplicationTests  

  Sub Main()  

    ' The variable pkg points to the location of the  
    ' ExecuteProcess package sample that was installed with  
    ' the SSIS samples.  
    Dim pkg As String = _  
      "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" & _  
      "\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"  

    Dim app As Application = New Application()  
    Dim p As Package = app.LoadPackage(pkg, Nothing)  

    ' Now that the package is loaded, we can query on  
    ' its properties.  
    Dim n As Integer = p.Configurations.Count  
    Dim p2 As DtsProperty = p.Properties("VersionGUID")  
    Dim pl As DTSProtectionLevel = p.ProtectionLevel  

    Console.WriteLine("Number of configurations = " & n.ToString())  
    Console.WriteLine("VersionGUID = " & CType(p2.GetValue(p), String))  
    Console.WriteLine("ProtectionLevel = " & pl.ToString())  
    Console.Read()  

  End Sub  

End Module  

Esempio di Output:Sample Output:

Number of configurations = 2

VersionGUID = {09016682-89B8-4406-AAC9-AF1E527FF50F}

ProtectionLevel = DontSaveSensitive

Risorse esterneExternal Resources

Vedere ancheSee Also

Aggiunta di attività a livello di codiceAdding Tasks Programmatically