Context.ExecuteForPrepare Property
ストアド プロシージャが準備目的で呼び出されたかどうかを示す値を取得します。
名前空間: Microsoft.AnalysisServices.AdomdServer
アセンブリ: msmgdsrv (msmgdsrv.dll 内)
構文
'宣言
Public Shared ReadOnly Property ExecuteForPrepare As Boolean
public static bool ExecuteForPrepare { get; }
public:
static property bool ExecuteForPrepare {
bool get ();
}
/** @property */
public static boolean get_ExecuteForPrepare ()
public static function get ExecuteForPrepare () : 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;
}
スレッド セーフ
この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
対象プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
参照
関連項目
Context Class
Context Members
Microsoft.AnalysisServices.AdomdServer Namespace