Context.ExecuteForPrepare Propiedad

Obtiene un valor que indica si se llama al procedimiento almacenado con fines de preparación.

Espacio de nombres:  Microsoft.AnalysisServices.AdomdServer
Ensamblado:  msmgdsrv (en msmgdsrv.dll)

Sintaxis

'Declaración
Public Shared ReadOnly Property ExecuteForPrepare As Boolean 
    Get
'Uso
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

Valor de la propiedad

Tipo: Boolean
true si se llama al procedimiento almacenado con fines de preparación; en caso contrario, false.

Comentarios

A los procedimientos almacenados y a las funciones definidas por el usuario (UDF) se les llama en "modo de preparación" para determinar los metadatos necesarios para crear el conjunto de celdas o de filas combinado final. Cuando se ejecuta en "modo de preparación”, el procedimiento almacenado o la UDF no debe devolver ningún dato, sino que debe volver inmediatamente después de crear el tipo de datos que se devolvería normalmente.

Solo se puede llamar a procedimientos almacenados y UDF en "modo de preparación" si se les han aplicado atributos mediante SafeToPrepareAttribute. Si se llama a un procedimiento almacenado en "modo de preparación" pero no se le han aplicado atributos, se producirá una excepción.

Las UDF que devuelven DataTables se preparan automáticamente antes de ejecutarse la consulta.

Ejemplos

En el ejemplo siguiente, el procedimiento almacenado vuelve inmediatamente después de crear la tabla de datos cuando se le llama en "modo de preparación":

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

Vea también

Referencia

Context Clase

Espacio de nombres Microsoft.AnalysisServices.AdomdServer