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