Package.SaveToXML Method (out 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 _
)
public void SaveToXML (
out string packageXml,
IDTSEvents events
)
public:
void SaveToXML (
[OutAttribute] String^% packageXml,
IDTSEvents^ events
)
public void SaveToXML (
/** @attribute OutAttribute() */ /** @ref */ String packageXml,
IDTSEvents events
)
JScript は、値と型の引数の参照渡しをサポートしていません。
パラメータ
- packageXml
パッケージの保存時に作成される XML を表す out パラメータです。
- events
エラー、警告または情報イベントを発生させるイベントを実装するオブジェクトです。
解説
更新されたテキスト :2005 年 12 月 5 日
パッケージを XML としてハード ドライブに保存するには、Application.SaveToXml メソッドを使用します。パッケージをファイル システムに保存するには、Application.SaveToDtsServer を使用します。パッケージを MSDB データベースに保存するには、Application.SaveToSqlServer メソッドまたは Application.SaveToSqlServerAs メソッドを使用します。Application で Application.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
スレッド セーフ
この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
対象プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
参照
関連項目
Package Class
Package Members
Microsoft.SqlServer.Dts.Runtime Namespace