Package.SaveToXML(String, IDTSEvents) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Salva il pacchetto in memoria in formato XML. Per salvare un pacchetto nel disco rigido come file con estensione xml, utilizzare il metodo SaveToXml(String, Package, IDTSEvents).
public:
void SaveToXML([Runtime::InteropServices::Out] System::String ^ % packageXml, Microsoft::SqlServer::Dts::Runtime::IDTSEvents ^ events);
public void SaveToXML (out string packageXml, Microsoft.SqlServer.Dts.Runtime.IDTSEvents events);
override this.SaveToXML : string * Microsoft.SqlServer.Dts.Runtime.IDTSEvents -> unit
Public Sub SaveToXML (ByRef packageXml As String, events As IDTSEvents)
Parametri
- packageXml
- String
Parametro out contenente il codice XML creato al salvataggio del pacchetto.
- events
- IDTSEvents
Oggetto che implementa gli eventi per generare errori, avvisi o eventi informativi.
Esempio
Nell'esempio di codice seguente viene creato un pacchetto e vengono impostate diverse proprietà del pacchetto. Il pacchetto viene quindi salvato in memoria XmlDocument
usando il SaveToXML metodo . Viene quindi aggiunta una nuova attività al pacchetto. L'attività finale dell'esempio di codice consiste nel salvare l'intero codice XML in un file sul disco rigido usando 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
Commenti
Se si desidera salvare un pacchetto come XML nel disco rigido, utilizzare il Microsoft.SqlServer.Dts.Runtime.Application.SaveToXml metodo . Se si desidera salvare il pacchetto nel file system, usare Microsoft.SqlServer.Dts.Runtime.Application.SaveToDtsServer. Se si vuole salvare il pacchetto nel database MSDB, usare Microsoft.SqlServer.Dts.Runtime.Application.SaveToSqlServer o Microsoft.SqlServer.Dts.Runtime.Application.SaveToSqlServerAs metodi. Quando si chiamano i Microsoft.SqlServer.Dts.Runtime.Application.SaveToXml metodi in Application, il runtime scorrerà le attività, le gestioni connessioni, i provider di log e tutti gli altri oggetti contenuti nel pacchetto e chiameranno il SaveToXML
metodo su ognuno di essi. Gli oggetti contenuti includono codice che SaveToXML
crea un elemento XmlElement per ogni proprietà che l'oggetto deve salvare e un valore per l'elemento. Il pacchetto contiene xmlDocument e gli oggetti aggiungono gli elementi specifici nel documento XmlDocument del pacchetto. Pertanto, non si chiama direttamente su SaveToXML
singoli oggetti, ma si chiama il metodo sull'oggetto Application e il runtime scorrerà gli oggetti del pacchetto e chiamerà l'oggetto per l'utente SaveToXML
.