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
プロパティ値
型: System. . :: . .Boolean
ストアド プロシージャが準備目的で呼び出された場合は true、それ以外の場合は false です。
説明
ストアド プロシージャやユーザー定義関数 (UDF) を "準備モード" で呼び出すのは、最終的に結合されたセル セットまたは行セットを作成するために必要なメタデータを調べるためです。"準備モード" で実行されたストアド プロシージャまたは UDF は、データを返しません。実際にデータを返すのではなく、実行した場合に返されるデータ型を構築した後、直ちに制御を返します。
SafeToPrepareAttribute の属性が設定されたストアド プロシージャおよび UDF は、"準備モード" でのみ呼び出すことができます。この属性の設定されていないストアド プロシージャを "準備モード" で呼び出した場合、例外が発生します。
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;
}