ExecuteSQLTask.BypassPrepare Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или устанавливает булевый элемент, который показывает, пропускает ли задача Execute SQL подготовку оператора при отправке SQL-оператора в реляционную систему управления базами данных (RDBMS).
public:
property bool BypassPrepare { bool get(); void set(bool value); };
public bool BypassPrepare { get; set; }
member this.BypassPrepare : bool with get, set
Public Property BypassPrepare As Boolean
Значение свойства
верно, если задача обходит подготовку SQL-команды; ложно, если RDBMS готовит выписку до выполнения.
Реализации
Примеры
Следующий пример создаёт ExecuteSQLTask, затем показывает настройки свойств по умолчанию, включая BypassPrepare, с помощью TaskHost. Затем он устанавливает значение некоторых свойств, чтобы показать, как правильно задавать значения свойств.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask;
namespace Microsoft.SqlServer.SSIS.Samples
{
class Program
{
static void Main(string[] args)
{
Package pkg = new Package();
Executable exec1 = pkg.Executables.Add("STOCK:SQLTask");
TaskHost th = exec1 as TaskHost;
// List the default values of the Execute SQL task
// by using the Properties collection of the TaskHost.
Console.WriteLine("BypassPrepare {0}", th.Properties["BypassPrepare"].GetValue(th));
Console.WriteLine("CodePage {0}", th.Properties["CodePage"].GetValue(th));
Console.WriteLine("Connection {0}", th.Properties["Connection"].GetValue(th));
Console.WriteLine("ExecutionValue {0}", th.Properties["ExecutionValue"].GetValue(th));
Console.WriteLine("IsStoredProcedure {0}", th.Properties["IsStoredProcedure"].GetValue(th));
Console.WriteLine("ParameterBindings {0}", th.Properties["ParameterBindings"].GetValue(th));
Console.WriteLine("ResultSetBindings {0}", th.Properties["ResultSetBindings"].GetValue(th));
Console.WriteLine("ResultSetType {0}", th.Properties["ResultSetType"].GetValue(th));
Console.WriteLine("SqlStatementSource {0}", th.Properties["SqlStatementSource"].GetValue(th));
Console.WriteLine("SqlStatementSourceType {0}", th.Properties["SqlStatementSourceType"].GetValue(th));
Console.WriteLine("TimeOut {0}", th.Properties["TimeOut"].GetValue(th));
Console.WriteLine("--------------------------");
// Show how to set a property by using the TaskHost properties.
Variable myVar = pkg.Variables.Add("myVar", false, "User", 100);
th.Properties["SqlStatementSourceType"].SetValue(th, SqlStatementSourceType.Variable);
th.Properties["SqlStatementSource"].SetValue(th, "myVar");
th.Properties["ResultSetType"].SetValue(th, ResultSetType.ResultSetType_XML);
Console.WriteLine("New value of Source and SourceType: {0}, {1}", th.Properties["SqlStatementSource"].GetValue(th), th.Properties["SqlStatementSourceType"].GetValue(th));
Console.WriteLine("New value of ResultSetType: {0}", th.Properties["ResultSetType"].GetValue(th), th.Properties["SqlStatementSourceType"].GetValue(th));
Console.WriteLine();
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask
Namespace Microsoft.SqlServer.SSIS.Samples
Class Program
Shared Sub Main(ByVal args() As String)
Dim pkg As Package = New Package()
Dim exec1 As Executable = pkg.Executables.Add("STOCK:SQLTask")
Dim th As TaskHost = exec1 as TaskHost
' List the default values of the Execute SQL task
' by using the Properties collection of the TaskHost.
Console.WriteLine("BypassPrepare {0}", th.Properties("BypassPrepare").GetValue(th))
Console.WriteLine("CodePage {0}", th.Properties("CodePage").GetValue(th))
Console.WriteLine("Connection {0}", th.Properties("Connection").GetValue(th))
Console.WriteLine("ExecutionValue {0}", th.Properties("ExecutionValue").GetValue(th))
Console.WriteLine("IsStoredProcedure {0}", th.Properties("IsStoredProcedure").GetValue(th))
Console.WriteLine("ParameterBindings {0}", th.Properties("ParameterBindings").GetValue(th))
Console.WriteLine("ResultSetBindings {0}", th.Properties("ResultSetBindings").GetValue(th))
Console.WriteLine("ResultSetType {0}", th.Properties("ResultSetType").GetValue(th))
Console.WriteLine("SqlStatementSource {0}", th.Properties("SqlStatementSource").GetValue(th))
Console.WriteLine("SqlStatementSourceType {0}", th.Properties("SqlStatementSourceType").GetValue(th))
Console.WriteLine("TimeOut {0}", th.Properties("TimeOut").GetValue(th))
Console.WriteLine("--------------------------")
' Show how to set a property by using the TaskHost properties.
Dim myVar As Variable = pkg.Variables.Add("myVar",False,"User",100)
th.Properties("SqlStatementSourceType").SetValue(th, SqlStatementSourceType.Variable)
th.Properties("SqlStatementSource").SetValue(th, "myVar")
th.Properties("ResultSetType").SetValue(th, ResultSetType.ResultSetType_XML)
Console.WriteLine("New value of Source and SourceType: {0}, {1}", th.Properties("SqlStatementSource").GetValue(th), th.Properties("SqlStatementSourceType").GetValue(th))
Console.WriteLine("New value of ResultSetType: {0}", th.Properties("ResultSetType").GetValue(th), th.Properties("SqlStatementSourceType").GetValue(th))
Console.WriteLine()
End Sub
End Class
End Namespace
Пример вывода:
BypassPrepare False
CodePage 1252
Connection
ExecutionValue
IsStoredProcedure False
ParameterBindings Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ParameterBindings
ResultSetBindings Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ResultBindings
ResultSetType 1
SqlStatementSource
SqlStatementSourceType 1
TimeOut 0
--------------------------
New value of Source and SourceType: myVar, 3
New value of ResultSetType: 4
Комментарии
Это свойство позволяет обойти команду prepare для соединений OLE DB, поскольку prepare не поддерживает некоторые ключевые слова Transact-SQL, такие как restore. Это свойство, при установке на true, позволяет команде выполняться без подготовки.