Package.LoadFromXML(String, IDTSEvents) Méthode

Définition

Charge un package et tous ses objets enregistrés sur la mémoire au format XML. Pour charger un package enregistré sur le disque dur, utilisez la méthode LoadPackage(String, IDTSEvents).

public:
 void LoadFromXML(System::String ^ packageXml, Microsoft::SqlServer::Dts::Runtime::IDTSEvents ^ events);
public void LoadFromXML (string packageXml, Microsoft.SqlServer.Dts.Runtime.IDTSEvents events);
override this.LoadFromXML : string * Microsoft.SqlServer.Dts.Runtime.IDTSEvents -> unit
Public Sub LoadFromXML (packageXml As String, events As IDTSEvents)

Paramètres

packageXml
String

Chaîne qui contient le package au format XML.

events
IDTSEvents

Objet qui implémente l'interface IDTSEvents visant à déclencher les événements (erreurs, avertissements, etc.) pendant la persistance.

Exemples

L’exemple de code suivant crée un package et y ajoute deux tâches. Le code XML du package est enregistré XmlDocument en mémoire. Un deuxième package est créé et, étant donné qu’il est chargé avec le même XmlDocumentpackage, il s’agit maintenant d’un doublon du premier package.

using System;  
using System.Collections.Generic;  
using System.Text;    
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;  
using System.Xml;  

namespace Microsoft.SqlServer.SSIS.Samples  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Application app = new Application();  

            // Location and file name can be combined into one string,   
            // or location could be set by a variable instead of   
            // hard-coded.  
            String XmlLocation = @"C:\XML";  
            String XmlFileName = "TestXML.xml";  
            String XmlFile = XmlLocation + XmlFileName;  
            Package pkg = new Package();  
            pkg.CreatorName = "Test";  
            pkg.Name = "SaveToXML Package";  
            pkg.CheckSignatureOnLoad = true;  
            pkg.DelayValidation = false;  
            pkg.SaveCheckpoints = false;  

            // Create package XmlDocument and use in pkg.SaveToXml.  
            XmlDocument myPkgDocument = new XmlDocument();  
            pkg.SaveToXML(ref myPkgDocument, null, null);  
            // If you want to see what the package XML contains   
            // at this point, uncomment this line and view the console.  
            // Console.Out.WriteLine(myPkgDocument.OuterXml);  

            // Now modify the package. Create a task   
            // and set some properties.  
            Executable execBI = pkg.Executables.Add("STOCK:BulkInsertTask");  
            TaskHost th = execBI as TaskHost;  
            th.Properties["DebugMode"].SetValue(th, false);  

            // Save the task into the package using pkg.SaveToXML.  
            // This saves the package after it has been modified  
            // by the addition of the task.  
            pkg.SaveToXML(ref myPkgDocument, null, null);  

            // When you want to save the package to the hard-drive,  
            // Save using the Application.SaveToXML method.  
            //app.SaveToXml(XmlFile, pkg, null);  

            // Reload the package from its XML.  
            Package pkg2 = new Package();  
            pkg2.LoadFromXML(myPkgDocument, null);  
            Console.WriteLine("This is the package XML that pkg2 now contains:");  
            Console.Out.WriteLine(myPkgDocument.OuterXml);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text    
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask  
Imports System.Xml  

Namespace Microsoft.SqlServer.SSIS.Samples  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim app As Application =  New Application()   

            ' Location and file name can be combined into one string,   
            ' or location could be set by a variable instead of   
            ' hard-coded.  
            Dim XmlLocation As String =  "C:\XML"   
            Dim XmlFileName As String =  "TestXML.xml"   
            Dim XmlFile As String =  XmlLocation + XmlFileName   
            Dim pkg As Package =  New Package()   
            pkg.CreatorName = "Test"  
            pkg.Name = "SaveToXML Package"  
            pkg.CheckSignatureOnLoad = True  
            pkg.DelayValidation = False  
            pkg.SaveCheckpoints = False  

            ' Create package XmlDocument and use in pkg.SaveToXml.  
            Dim myPkgDocument As XmlDocument =  New XmlDocument()   
            pkg.SaveToXML( myPkgDocument,Nothing,Nothing)  
            ' If you want to see what the package XML contains   
            ' at this point, uncomment this line and view the console.  
            ' Console.Out.WriteLine(myPkgDocument.OuterXml);  

            ' Now modify the package. Create a task   
            ' and set some properties.  
            Dim execBI As Executable =  pkg.Executables.Add("STOCK:BulkInsertTask")   
            Dim th As TaskHost =  execBI as TaskHost   
            th.Properties("DebugMode").SetValue(th, False)  

            ' Save the task into the package using pkg.SaveToXML.  
            ' This saves the package after it has been modified  
            ' by the addition of the task.  
            pkg.SaveToXML( myPkgDocument,Nothing,Nothing)  

            ' When you want to save the package to the hard-drive,  
            ' Save using the Application.SaveToXML method.  
            'app.SaveToXml(XmlFile, pkg, null);  

            ' Reload the package from its XML.  
            Dim pkg2 As Package =  New Package()   
            pkg2.LoadFromXML(myPkgDocument, Nothing)  
            Console.WriteLine("This is the package XML that pkg2 now contains:")  
            Console.Out.WriteLine(myPkgDocument.OuterXml)  
        End Sub  
    End Class  
End Namespace  

Remarques

Vous devez utiliser la LoadFromXML méthode pour charger le code XML en mémoire. Si vous souhaitez charger un package enregistré sur le disque dur au format XML, utilisez la Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage méthode. Si le package a été enregistré dans la base de données système de fichiers ou MSDB, utilisez les méthodes ou Microsoft.SqlServer.Dts.Runtime.Application.LoadFromDtsServer les Microsoft.SqlServer.Dts.Runtime.Application.LoadFromSqlServer méthodes.

Lorsque vous appelez l’une des méthodes de chargement sur le Applicationpackage, le runtime effectue une itération dans les tâches, les gestionnaires de connexions, les fournisseurs d’informations et tous les autres objets contenus dans le package et appelle la LoadFromXML méthode sur chacun d’eux. Les objets contenus ont du code dans leur LoadFromXML analyse du XmlElement pour chaque propriété que l’objet doit recréer et la valeur enregistrée pour l’élément. Par conséquent, vous n’appelez pas directement les LoadFromXML objets individuels, mais appelez la méthode sur l’objet Application , et le runtime est en cascade dans le package et appelle les LoadFromXML objets pour vous.

S’applique à