Udostępnij za pośrednictwem


Metoda Package.SaveToXML (String%, IDTSEvents)

Pakiet zapisuje w pamięci w formacie XML.Aby zapisać pakiet jako XML na dysku twardym, użyj Application.SaveToXml metoda.

Przestrzeń nazw:  Microsoft.SqlServer.Dts.Runtime
Zestaw:  Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)

Składnia

'Deklaracja
Public Sub SaveToXML ( _
    <OutAttribute> ByRef packageXml As String, _
    events As IDTSEvents _
)
'Użycie
Dim instance As Package
Dim packageXml As String
Dim events As IDTSEvents

instance.SaveToXML(packageXml, events)
public void SaveToXML(
    out string packageXml,
    IDTSEvents events
)
public:
void SaveToXML(
    [OutAttribute] String^% packageXml, 
    IDTSEvents^ events
)
member SaveToXML : 
        packageXml:string byref * 
        events:IDTSEvents -> unit 
public function SaveToXML(
    packageXml : String, 
    events : IDTSEvents
)

Parametry

  • packageXml
    Typ: System.String%
    Się parametr, który zawiera plik XML, który jest tworzony podczas zapisywania pakiet.

Uwagi

Jeśli chcesz zapisać pakiet jako XML na dysku twardym, użyj Application.SaveToXml metoda.Jeśli chcesz zapisać pakiet do systemu plików, użyj Application.SaveToDtsServer.Jeśli chcesz zapisać pakiet do bazy danych MSDB, Application.SaveToSqlServer lub Application.SaveToSqlServerAs metody.Po wywołaniu Application.SaveToXml metoda na Application, środowiska wykonawczego będzie iterować przeglądanie zadań, Menedżer połączeń, dostawców dzienników i wszelkie inne obiekty są zawarte przez pakiet i wywołanie SaveToXML metoda na każdym z nich.Zawarte obiekty mają kod w ich SaveToXML , tworzy XmlElement dla każdej właściwość, które należy zapisać obiekt i wartość dla elementu.Pakiet zawiera XmlDocument i obiekty dołączania ich określone elementy do pakietu XmlDocument.Dlatego nie bezpośrednio wywołania SaveToXML w poszczególnych obiektach, ale wywołać metoda Application obiektu i środowiska wykonawczego kaskadowe będzie pakiet obiektów i wywołanie SaveToXML .

Przykłady

Poniższy przykład kodu tworzy pakiet i ustawia kilka właściwości pakietu.Pakiet jest następnie zapisywany w pamięci XmlDocument za pomocą SaveToXML metoda.Następnie dodaje się nowe zadanie do pakiet.Ostatnim zadaniem w przykładzie kodu jest zapisanie całego XML do pliku na dysku twardym przy użyciu SaveToXml.

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

namespace SaveToXML_API
{
    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);
            // You can cast the task here.
            // BulkInsertTask myTask = th.InnerObject as BulkInsertTask;

            // 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);

        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Imports System.Xml
 
Namespace SaveToXML_API
    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)
            ' You can cast the task here.
            ' BulkInsertTask myTask = th.InnerObject as BulkInsertTask;
 
            ' 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, Nothing)
 
        End Sub
    End Class
End Namespace