Свойство Context.ExecuteForPrepare

Возвращает значение, указывающее, вызвана ли хранимая процедура для целей подготовки.

Пространство имен:  Microsoft.AnalysisServices.AdomdServer
Сборка:  msmgdsrv (в msmgdsrv.dll)

Синтаксис

'Декларация
Public Shared ReadOnly Property ExecuteForPrepare As Boolean 
    Get
'Применение
Dim value As Boolean 

value = Context.ExecuteForPrepare
public static bool ExecuteForPrepare { get; }
public:
static property bool ExecuteForPrepare {
    bool get ();
}
static member ExecuteForPrepare : bool
static function get ExecuteForPrepare () : boolean

Значение свойства

Тип: Boolean
Значение true, если хранимая процедура вызывается для целей подготовки. В противном случае — значение false.

Замечания

Хранимые процедуры и определяемые пользователем функции вызываются в «режиме подготовки» для определения метаданных, которые необходимы для создания итогового, объединенного набора ячеек или набора строк. При работе в «режиме подготовки» хранимая процедура или определяемая пользователем функция не должна возвращать данные. Возврат должен производиться сразу же после построения типа данных, который будет возвращаться при обычном выполнении.

Хранимые процедуры и определяемые пользователем функции могут быть вызваны в «режиме подготовки», если им был задан атрибут SafeToPrepareAttribute. Если хранимая процедура вызывается в «режиме подготовки», но без этого атрибута, будет вызвано исключение.

Определяемые пользователем функции, которые возвращают DataTables, автоматически подготавливаются перед тем, как выполнить запрос.

Примеры

В следующем примере хранимая процедура при работе в «режиме подготовки» производит возврат сразу после создания таблицы данных.

[SafeToPrepare(true)]
public System.Data.DataTable GetPreparedTable()
{
    System.Data.DataTable results = new System.Data.DataTable();
    results.Columns.Add("A", typeof(int));
    results.Columns.Add("B", typeof(string));

    if (Context.ExecuteForPrepare)
    {
        // If preparing, return just the schema with no data
        return results;
    }

    //Otherwise return data
    object[] row = new object[2];
    row[0] = 1;
    row[1] = "A";
    results.Rows.Add(row);

    row[0] = 2;
    row[1] = "B";
    results.Rows.Add(row);

    return results;
}

См. также

Справочник

Context Класс

Пространство имен Microsoft.AnalysisServices.AdomdServer