FileSystemTask.OverwriteDestinationFile Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um Boolean que indica se a tarefa substituirá os arquivos de destino.
public:
property bool OverwriteDestinationFile { bool get(); void set(bool value); };
public bool OverwriteDestinationFile { get; set; }
member this.OverwriteDestinationFile : bool with get, set
Public Property OverwriteDestinationFile As Boolean
Valor da propriedade
true se a tarefa substituirá os arquivos de destino; false caso contrário.
Implementações
Exemplos
O exemplo de código a seguir cria um FileSystemTask como um Executable pacote. A FileSystemTask pasta de teste copia uma pasta de teste, que contém duas subpastas e um arquivo .txt, para outra pasta. O exemplo não substitui nenhum arquivo no destino, portanto OverwriteDestinationFile , está definido como false
.
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