Freigeben über


Context.ExecuteForPrepare-Eigenschaft

Ruft einen Wert ab, der angibt, ob die gespeicherte Prozedur zu Vorbereitungszwecken aufgerufen wird.

Namespace:  Microsoft.AnalysisServices.AdomdServer
Assembly:  msmgdsrv (in msmgdsrv.dll)

Syntax

'Declaration
Public Shared ReadOnly Property ExecuteForPrepare As Boolean 
    Get
'Usage
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

Eigenschaftswert

Typ: Boolean
true, wenn die gespeicherte Prozedur zu Vorbereitungszwecken aufgerufen wird, andernfalls false.

Hinweise

Gespeicherte Prozeduren und benutzerdefinierte Funktionen werden im "Vorbereitungsmodus" aufgerufen, um die zum Erstellen des endgültigen kombinierten Cellsets oder Rowsets erforderlichen Metadaten zu bestimmen. Bei der Ausführung im "Vorbereitungsmodus" sollte die gespeicherte Prozedur oder benutzerdefinierte Funktion keine Daten zurückgeben, sondern direkt nach dem Erstellen des Datentyps, der normalerweise zurückgegeben würde, beendet werden.

Gespeicherte Prozeduren und benutzerdefinierte Funktionen können nur dann im "Vorbereitungsmodus" aufgerufen werden, wenn ihnen SafeToPrepareAttribute zugewiesen wurde. Wenn eine gespeicherte Prozedur im "Vorbereitungsmodus" aufgerufen wird, jedoch kein Attribut zugewiesen wurde, wird eine Ausnahme ausgelöst.

Benutzerdefinierte Funktionen, die DataTables zurückgeben, werden automatisch vorbereitet, bevor die Abfrage ausgeführt wird.

Beispiele

Im folgenden Beispiel wird die gespeicherte Prozedur im "Vorbereitungsmodus" sofort nach dem Erstellen der Datentabelle beendet:

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

Siehe auch

Verweis

Context Klasse

Microsoft.AnalysisServices.AdomdServer-Namespace