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

要设置的会话参数的 ID。

pvParam

要在此会话参数中设置的数据。

cbParam

提供的数据的大小。

返回值

此函数使用下表中列出的返回代码之一返回 JET_ERR 数据类型。 有关可能的可扩展存储引擎 (ESE) 错误的详细信息,请参阅 可扩展存储引擎错误错误处理参数

返回代码

说明

JET_errSuccess

操作已成功完成。

JET_errAlreadyInitialized

实例已使用 对 JetInit 函数的调用进行初始化,因此无法执行此操作。 在更改参数值后尝试配置系统参数不再影响数据库引擎的状态时,可能会发生这种情况。

JET_errClientRequestToStopJetService

无法完成操作,因为由于调用 JetStopService 函数,与会话关联的实例上的所有活动都已停止。

JET_errIndexTuplesInvalidLimits

指定的元组索引参数是非法的。 仅当 JET_paramIndexTuplesLengthMinJET_paramIndexTuplesLengthMaxJET_paramIndexTuplesToIndexMax 参数设置为非法值时,才会返回此错误。 有关这些参数的信息,请参阅 索引参数

JET_errInitInProgress

无法完成操作,因为正在初始化与会话关联的实例。

JET_errInstanceUnavailable

无法完成操作,因为与会话关联的实例遇到严重错误,要求撤销对所有数据的访问权限以保护该数据的完整性。

JET_errInvalidParameter

提供的其中一个参数包含意外值,或者包含与另一个参数的值组合时没有意义的值。 发生以下情况时,可能会发生这种情况:

  • 指定的系统参数 ID 无效或不受支持。

  • 尝试使用长度超出参数法定范围的字符串设置字符串值系统参数。

  • 尝试使用文件路径设置字符串值系统参数,其中其绝对路径表示形式的长度超出了该参数的法定范围。

  • 尝试使用超出参数法定范围的整数设置整数值系统参数。

  • 尝试 使用空JET_UNICODEINDEX 指针、无效的 LCID 或不支持的 LCMapString 标志集来设置JET_paramUnicodeIndexDefault。

  • 无法设置指定的系统参数,因为它是只读的。

  • 在调用 JetInit 函数、数据库引擎处于单实例模式且未指定会话之后,尝试设置系统参数。

  • 指定的系统参数仅为全局参数,并尝试为该系统参数设置特定于实例的值。

  • 指定的系统参数仅为每个实例,并且已尝试设置该系统参数的全局值。

JET_errInvalidPath

指定的文件系统路径无效。 只有在设置表示文件系统路径的系统参数时, JetSetSessionParameter 才会返回此错误。 例如, JET_paramSystemPath 参数可能会返回此错误。 有关此参数的信息,请参阅 事务日志参数

JET_errNotInitialized

无法完成操作,因为与会话关联的实例尚未初始化。

JET_errRestoreInProgress

无法完成该操作,因为正在对与会话关联的实例执行还原操作。

JET_errTermInProgress

无法完成操作,因为正在关闭与会话关联的实例。

JET_errInvalidSesid

会话句柄无效或引用已关闭的会话。

并非所有情况下都返回此错误。 句柄仅在尽最大努力的基础上进行验证。

JET_errInvalidInstance

实例句柄无效或引用已关闭的实例。

并非所有情况下都返回此错误。 句柄仅在尽最大努力的基础上进行验证。

成功后,系统参数将设置为提供的值。

失败时,系统参数值将保持不变。

要求

要求

客户端

需要Windows 8。

服务器

需要Windows Server 2012。

标头

在 Esent.h 中声明。

Library

使用 ESENT.lib。

DLL

需要ESENT.dll。

另请参阅

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetGetSystemParameter
JetInit
系统参数