FileSystemTask.Operation Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение из перечисления DTSFileSystemOperation, определяющее тип выполняемой операции.
public:
property Microsoft::SqlServer::Dts::Tasks::FileSystemTask::DTSFileSystemOperation Operation { Microsoft::SqlServer::Dts::Tasks::FileSystemTask::DTSFileSystemOperation get(); void set(Microsoft::SqlServer::Dts::Tasks::FileSystemTask::DTSFileSystemOperation value); };
public Microsoft.SqlServer.Dts.Tasks.FileSystemTask.DTSFileSystemOperation Operation { get; set; }
member this.Operation : Microsoft.SqlServer.Dts.Tasks.FileSystemTask.DTSFileSystemOperation with get, set
Public Property Operation As DTSFileSystemOperation
Значение свойства
Значение из перечисления DTSFileSystemOperation, указывающее тип выполняемой операции.
Реализации
Примеры
В следующем примере кода создается FileSystemTask как Executable в пакете. Копирует FileSystemTask тестовую папку, содержащую две вложенные папки и файл .txt, в другую папку. Выполняемая операция представляет собой копию каталога и его дочерних папок и файлов, поэтому Operation задано CopyDirectoryзначение .
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.FileSystemTask;
namespace FileSystemTask_API
{
class Program
{
static void Main(string[] args)
{
String sourceDir = @"C:\TestFolder";
String destDir = @"C:\MyNewTestFolder";
Package pkg = new Package();
Executable exec1 = pkg.Executables.Add("STOCK:FileSystemTask");
TaskHost th = exec1 as TaskHost;
// Show how to set properties using the TaskHost Properties.
// Set the properties to copy an existing folder, which contains two subfolders
// and a .txt file, to another existing folder on the C:\ drive.
// The source or destination files are not in a variable, so set
// IsSourcePathVariable and IsDestinationPathVariable to false.
th.Properties["IsSourcePathVariable"].SetValue(th, false);
th.Properties["IsDestinationPathVariable"].SetValue(th, false);
// Create the File connection manager for the source.
ConnectionManager cm = pkg.Connections.Add("FILE");
cm.Name = "The FILE connection manager";
cm.ConnectionString = sourceDir;
cm.Properties["FileUsageType"].SetValue(cm, DTSFileConnectionUsageType.FolderExists);
// Create the File connection manager for the destination.
ConnectionManager cmdest = pkg.Connections.Add("FILE");
cmdest.Name = "The destination FILE connection manager";
cmdest.ConnectionString = destDir;
cmdest.Properties["FileUsageType"].SetValue(cmdest, DTSFileConnectionUsageType.FolderExists);
// Set the source property and destination properties
// for the task.
th.Properties["Source"].SetValue(th, cm.Name);
th.Properties["Destination"].SetValue(th, cmdest.Name);
// The operation to perform is to copy all the files and
// subfolders in a folder.
// Do not overwrite the destination information
// if it exists.
th.Properties["Operation"].SetValue(th, DTSFileSystemOperation.CopyDirectory);
th.Properties["OperationName"].SetValue(th, "Copy TestFolder");
th.Properties["OverwriteDestinationFile"].SetValue(th, false);
// Set the attribute of the folder to be read-only.
th.Properties["Attributes"].SetValue(th, DTSFileSystemAttributes.ReadOnly);
// Multiple attributes can be set. The next line of code,
// commented out, shows how to do that.
//th.Properties["Attributes"].SetValue(th, DTSFileSystemAttributes.ReadOnly | DTSFileSystemAttributes.Hidden);
// Run the task and copy the folder.
DTSExecResult result = pkg.Execute();
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.FileSystemTask
Namespace FileSystemTask_API
Class Program
Shared Sub Main(ByVal args() As String)
Dim sourceDir As String = "C:\TestFolder"
Dim destDir As String = "C:\MyNewTestFolder"
Dim pkg As Package = New Package()
Dim exec1 As Executable = pkg.Executables.Add("STOCK:FileSystemTask")
Dim th As TaskHost = exec1 as TaskHost
' Show how to set properties using the TaskHost Properties.
' Set the properties to copy an existing folder, which contains two subfolders
' and a .txt file, to another existing folder on the C:\ drive.
' The source or destination files are not in a variable, so set
' IsSourcePathVariable and IsDestinationPathVariable to false.
th.Properties("IsSourcePathVariable").SetValue(th, False)
th.Properties("IsDestinationPathVariable").SetValue(th, False)
' Create the File connection manager for the source.
Dim cm As ConnectionManager = pkg.Connections.Add("FILE")
cm.Name = "The FILE connection manager"
cm.ConnectionString = sourceDir
cm.Properties("FileUsageType").SetValue(cm, DTSFileConnectionUsageType.FolderExists)
' Create the File connection manager for the destination.
Dim cmdest As ConnectionManager = pkg.Connections.Add("FILE")
cmdest.Name = "The destination FILE connection manager"
cmdest.ConnectionString = destDir
cmdest.Properties("FileUsageType").SetValue(cmdest, DTSFileConnectionUsageType.FolderExists)
' Set the source property and destination properties
' for the task.
th.Properties("Source").SetValue(th, cm.Name)
th.Properties("Destination").SetValue(th, cmdest.Name)
' The operation to perform is to copy all the files and
' subfolders in a folder.
' Do not overwrite the destination information
' if it exists.
th.Properties("Operation").SetValue(th, DTSFileSystemOperation.CopyDirectory)
th.Properties("OperationName").SetValue(th, "Copy TestFolder")
th.Properties("OverwriteDestinationFile").SetValue(th, False)
' Set the attribute of the folder to be read-only.
th.Properties("Attributes").SetValue(th, DTSFileSystemAttributes.ReadOnly)
' Multiple attributes can be set. The next line of code,
' commented out, shows how to do that.
'th.Properties["Attributes"].SetValue(th, DTSFileSystemAttributes.ReadOnly | DTSFileSystemAttributes.Hidden);
' Run the task and copy the folder.
Dim result As DTSExecResult = pkg.Execute()
End Sub
End Class
End Namespace