Поделиться через


Функция JetSetSessionParameter

Применимо к: Windows | Windows Server

Функция JetSetSessionParameter настраивает ядро СУБД.

JET_ERR JET_API JetSetSessionParameter (
  __in_opt      JET_SESID sesid,
  __in          unsigned long sesparamid,
  __in_read_bytes_opt_(cbParam)  void* pvParam,
  __in          unsigned long cbParam
);

Параметры

sesid

Указывает сеанс, используемый для этого вызова.

При указании указанный экземпляр игнорируется, и будет использоваться экземпляр, связанный с сеансом.

sesparamid

Идентификатор устанавливаемого параметра сеанса.

pvParam

Данные, которые необходимо задать в этом параметре сеанса.

cbParam

Размер предоставленных данных.

Возвращаемое значение

Эта функция возвращает JET_ERR тип данных с одним из кодов возврата, перечисленных в следующей таблице. Дополнительные сведения о возможных ошибках расширяемого обработчика хранилища (ESE) см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errAlreadyInitialized

Экземпляр инициализирован с помощью вызова функции JetInit , и эта операция не может быть выполнена в результате. Это может произойти при попытке настроить системный параметр после того, как изменение значения параметра больше не влияет на состояние ядра СУБД.

JET_errClientRequestToStopJetService

Невозможно выполнить операцию, так как все действия экземпляра, связанного с сеансом, прекратились в результате вызова функции JetStopService .

JET_errIndexTuplesInvalidLimits

Указанные параметры индекса кортежа были недопустимыми. Эта ошибка возвращается, только если для параметра JET_paramIndexTuplesLengthMin, JET_paramIndexTuplesLengthMax или JET_paramIndexTuplesToIndexMax задано недопустимое значение. Сведения об этих параметрах см. в разделе Параметры индекса.

JET_errInitInProgress

Невозможно выполнить операцию, так как выполняется инициализация экземпляра, связанного с сеансом.

JET_errInstanceUnavailable

Невозможно выполнить операцию, так как экземпляр, связанный с сеансом, столкнулся с неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных.

JET_errInvalidParameter

Один из предоставленных параметров содержал непредвиденное значение или значение, которое не имело смысла в сочетании со значением другого параметра. Это может произойти в следующих случаях:

  • Указанный идентификатор системного параметра недопустим или не поддерживается.

  • Предпринята попытка задать системный параметр со строковым значением со строкой, длина которой находилась за пределами допустимого диапазона для параметра.

  • Предпринята попытка задать системный параметр со строковым значением с путем к файлу, в котором длина его абсолютного представления пути выходит за пределы допустимого диапазона для этого параметра.

  • Предпринята попытка задать системный параметр с целочисленным значением с целым числом, которое находится за пределами допустимого диапазона для параметра.

  • Предпринята попытка задать JET_paramUnicodeIndexDefault с пустым указателем JET_UNICODEINDEX , недопустимым LCID или неподдерживаемым набором флагов LCMapString .

  • Не удается задать указанный системный параметр, так как он доступен только для чтения.

  • Предпринята попытка задать системный параметр после вызова функции JetInit , ядро СУБД находится в режиме одного экземпляра, а сеанс не указан.

  • Указанный системный параметр является глобальным, и предпринята попытка задать для этого системного параметра значение конкретного экземпляра.

  • Указанный системный параметр доступен только для каждого экземпляра, и предпринята попытка задать глобальное значение для этого системного параметра.

JET_errInvalidPath

Указанный путь к файловой системе недопустим. Эта ошибка может быть возвращена JetSetSessionParameter только при задании системных параметров, представляющих пути к файловой системе. Например, параметр JET_paramSystemPath может возвращать эту ошибку. Сведения об этом параметре см. в разделе Параметры журнала транзакций.

JET_errNotInitialized

Невозможно выполнить операцию, так как экземпляр, связанный с сеансом, еще не инициализирован.

JET_errRestoreInProgress

Невозможно выполнить операцию, так как операция восстановления выполняется в экземпляре, связанном с сеансом.

JET_errTermInProgress

Невозможно завершить операцию, так как экземпляр, связанный с сеансом, завершает работу.

JET_errInvalidSesid

Дескриптор сеанса недопустим или относится к закрытому сеансу.

Эта ошибка возвращается не при всех обстоятельствах. Дескрипторные данные проверяются только по мере усилий.

JET_errInvalidInstance

Дескриптор экземпляра недопустим или ссылается на экземпляр, который был завершен.

Эта ошибка возвращается не при всех обстоятельствах. Дескрипторные данные проверяются только по мере усилий.

При успешном выполнении системный параметр будет иметь указанное значение.

При сбое значение системного параметра останется неизменным.

Требования

Требование Значение

Клиент

Требуется Windows 8.

Сервер

Требуется Windows Server 2012.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

См. также раздел

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetGetSystemParameter
JetInit
Системные параметры