Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает значение, указывающее, вызвана ли хранимая процедура для целей подготовки.
Пространство имен: 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.
Замечания
Хранимые процедуры и определяемые пользователем функции вызываются в «режиме подготовки» для определения метаданных, которые необходимы для создания итогового, объединенного набора ячеек или набора строк. При работе в «режиме подготовки» хранимая процедура или определяемая пользователем функция не должна возвращать данные. Возврат должен производиться сразу же после построения типа данных, который будет возвращаться при обычном выполнении.
Хранимые процедуры и определяемые пользователем функции могут быть вызваны в «режиме подготовки», если им был задан атрибут SafeToPrepareAttribute. Если хранимая процедура вызывается в «режиме подготовки», но без этого атрибута, будет вызвано исключение.
Определяемые пользователем функции, которые возвращают DataTables, автоматически подготавливаются перед тем, как выполнить запрос.
Примеры
В следующем примере хранимая процедура при работе в «режиме подготовки» производит возврат сразу после создания таблицы данных.
[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;
}