次の方法で共有


SaveToXML メソッド (String, IDTSEvents)

XML 形式でパッケージをメモリに保存します。パッケージを .xml としてハード ドライブに保存するには、Application..::..SaveToXml メソッドを使用します。

名前空間:  Microsoft.SqlServer.Dts.Runtime
アセンブリ:  Microsoft.SqlServer.ManagedDTS (Microsoft.SqlServer.ManagedDTS.dll)

構文

'宣言
Public Sub SaveToXML ( _
    <OutAttribute> ByRef packageXml As String, _
    events As IDTSEvents _
)
'使用
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
)

パラメーター

  • packageXml
    型: System. . :: . .String%
    パッケージの保存時に作成される XML を表す out パラメータです。

説明

パッケージを XML としてハード ドライブに保存するには、Application..::..SaveToXml メソッドを使用します。パッケージをファイル システムに保存するには、Application..::..SaveToDtsServer を使用します。パッケージを MSDB データベースに保存するには、Application..::..SaveToSqlServer メソッドまたは Application..::..SaveToSqlServerAs メソッドを使用します。ApplicationApplication..::..SaveToXml メソッドを呼び出すと、ランタイムは、タスク、接続マネージャ、ログ プロバイダ、およびパッケージに含まれるその他のすべてのオブジェクトの繰り返し処理を実行し、それぞれに対して SaveToXML メソッドを呼び出します。格納されるオブジェクトは、オブジェクトが保存する必要がある各プロパティの XmlElement を作成するコードを SaveToXML に含むほか、要素の値を含みます。パッケージには XmlDocument が含まれており、各オブジェクトはそのオブジェクト固有の要素をパッケージの XmlDocument に追加します。したがって、個々のオブジェクトで SaveToXML を直接呼び出すのではなく、Application オブジェクトでこのメソッドを呼び出します。これにより、ランタイムがパッケージ オブジェクトを連鎖的に処理し、SaveToXML を呼び出します。

使用例

次のコード例では、パッケージを作成し、パッケージのプロパティをいくつか設定します。パッケージは、SaveToXML メソッドを使用してメモリ内の XmlDocument に保存されます。次に、新しいタスクがパッケージに追加されます。コード例の最後のタスクは、SaveToXml を使用して、ハード ドライブ上のファイルに XML 全体を保存することです。

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