Udostępnij przez


Właściwość Context.ExecuteForPrepare

Pobiera wartość wskazująca, czy procedura składowana jest wywoływana dla celów przygotowania.

Przestrzeń nazw:  Microsoft.AnalysisServices.AdomdServer
Zestaw:  msmgdsrv (w msmgdsrv.dll)

Składnia

'Deklaracja
Public Shared ReadOnly Property ExecuteForPrepare As Boolean
    Get
'Użycie
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

Wartość właściwości

Typ: System.Boolean
TRUE , jeśli procedura składowana jest wywoływana dla celów przygotowania; w przeciwnym razie false.

Uwagi

W "trybie przygotować" nazywane są procedury przechowywane i funkcje zdefiniowane przez użytkownika (UDFs) ustalenia konieczne do tworzenia final, metadane połączone zestaw komórek lub zestawu zestaw wierszy.W "trybie przygotować" procedura składowana lub UDF powinny zwraca dane, lecz raczej zwrócić natychmiast po konstruowania typu danych, która normalnie będzie zwracana.

Procedury przechowywane i UDFs można wywołać tylko w "trybie przygotować" Jeśli zostały przypisane z SafeToPrepareAttribute.Jeśli procedura składowana jest wywoływana w "trybie przygotować" ale nie został powierzony procedura składowana, wyjątek będzie uruchamiany.

UDFs, które zwracają DataTables są automatycznie przygotowane przed uruchomieniem kwerendy.

Przykłady

W poniższym przykładzie procedura składowana zwraca natychmiast po utworzeniu tabela danych w "trybie przygotować":

[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;
}