Partager via


Propriété Context.ExecuteForPrepare

Obtient une valeur qui indique si la procédure stockée est appelée à des fins de préparation.

Espace de noms :  Microsoft.AnalysisServices.AdomdServer
Assembly :  msmgdsrv (en msmgdsrv.dll)

Syntaxe

'Déclaration
Public Shared ReadOnly Property ExecuteForPrepare As Boolean 
    Get
'Utilisation
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

Valeur de propriété

Type : Boolean
true si la procédure stockée est appelée à des fins de préparation ; sinon, false.

Notes

Les procédures stockées et les fonctions définies par l'utilisateur (UDF) sont appelées en « mode de préparation » afin de déterminer les métadonnées nécessaires pour créer l'ensemble de cellules ou l'ensemble de lignes combiné final. Lorsqu'elle est exécute en « mode de préparation », la procédure stockée ou l'UDF ne doit pas renvoyer des données, mais est retournée immédiatement après la construction du type de données qui serait normalement retourné.

Les procédures stockées et les UDF peuvent être appelées en « mode de préparation » uniquement si elles ont été attribuées avec SafeToPrepareAttribute. Si une procédure stockée est appelée en « mode de préparation » mais elle n'a pas été attribuée, une exception sera levée.

Les fonctions définies par l'utilisateur qui retournent des DataTables sont automatiquement préparées avant l'exécution de la requête.

Exemples

Dans l'exemple suivant, la procédure stockée est retournée immédiatement après la création de la table de données en « mode de préparation » :

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

Voir aussi

Référence

Context Classe

Espace de noms Microsoft.AnalysisServices.AdomdServer