DTSXMLSourceType 枚举


描述 SourceType 的位置、XPathStringSourceType 中 XPath 字符串的源类型以及 SecondOperandType 中第二个操作数的类型。 根据所使用的类型,SourceXPathStringSourceSecondOperand 属性必须兼容。 例如,如果 SourceType 设置为 FileConnection,则 Source 必须包含连接管理器。 如果 SourceTypeVariable,则 Source 必须指向要使用的变量。

public enum class DTSXMLSourceType
public enum DTSXMLSourceType
type DTSXMLSourceType = 
Public Enum DTSXMLSourceType


DirectInput 2

指定 XML 文档以纯文本格式直接输入到任务用户界面上的某个区域中。 仅当提供任务的用户界面时,才使用此选项。

FileConnection 0

指定 XML 文档将保存在某一文件中。 该任务与连接管理器交互,以便从文件检索 XML 文档。 如果您正在为此任务编写用户界面,则支持文件连接管理器检索的操作还应提供一个“新建连接”按钮,从而允许用户在编辑该任务时创建新连接。

Variable 1

指定 XML 文档将保存在某一变量中。


下面的代码示例演示用于设置 SourceType 任务和 SecondOperandType 任务的枚举。

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

namespace XMLTask_API  
    class Program  
        static void Main(string[] args)  
                        // Set up the objects and tasks.  
                        Package pkg = new Package();  
                        Executable exec1 = pkg.Executables.Add("STOCK:XMLTask");  
                        TaskHost th = exec1 as TaskHost;  
                        // You can cast the InnerObject to the XmlTask,  
                        // but it is advised that you work with tasks  
                        // through the TaskHost and its Properties.  
                        // XMLTask myTask = th.InnerObject as XMLTask;  

                        // Create a variable and a FILE connection  
                         // manager to books.xml.  
                        Variable resultVar = pkg.Variables.Add("resultVariable", false, "", "Variable for the result");  
                        ConnectionManager connMgr = pkg.Connections.Add("FILE");  
                        connMgr.Name = "XMLConnectionManager";  
                        // The file is stored on the C:\ drive.  
                        connMgr.ConnectionString = @"c:\books.xml";  

                        // Set the XMLTask properties.  
                        // The first property to set is the  
                         // OperationType. Depending on the  
                        // OperationType, different properties are  
                         // valid.  
                        // The operation type in this example is   
                        // VALIDATE.  
                        th.Properties["OperationType"].SetValue(th, DTSXMLOperation.Validate);  
                        th.Properties["SourceType"].SetValue(th, DTSXMLSourceType.FileConnection);  
                        th.Properties["Source"].SetValue(th, connMgr.Name);  
                        th.Properties["OverwriteDestination"].SetValue(th, true);  
                        th.Properties["SaveOperationResult"].SetValue(th, true);  
                        th.Properties["DestinationType"].SetValue(th, DTSXMLSaveResultTo.Variable);  
                        th.Properties["Destination"].SetValue(th, resultVar.Name);  
                        th.Properties["SecondOperandType"].SetValue(th, DTSXMLSourceType.DirectInput);  
                        th.Properties["SecondOperand"].SetValue(th, "<x></x>");  
                        th.Properties["ValidationType"].SetValue(th, DTSXMLValidationType.DTD);  
                        th.Properties["FailOnValidationFaile"].SetValue(th, true);  
                        DTSExecResult valResults = pkg.Validate(pkg.Connections, pkg.Variables, null, null);  
                        Console.WriteLine("RESULTS: {0}", valResults);