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