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。
注释
在“准备模式”下调用存储过程和用户定义函数 (UDF),以确定创建最终组合的单元集或行集所需的元数据。 在“准备模式”下运行时,存储过程或 UDF 不应返回数据,而应在构建正常返回的数据类型后立即返回。
如果存储过程和 UDF 采用 SafeToPrepareAttribute 指定属性,则只能在“准备模式”下调用它们。 如果在“准备模式”下调用存储过程但是未指定其属性,将引发异常。
在运行查询前,自动准备返回 DataTables 的 UDF。
示例
在下面的示例中,在处于“准备模式”下时,存储过程在创建数据表后立即返回:
[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;
}