Función JetSetSystemParameter

Se aplica a: Windows | Windows Server

Función JetSetSystemParameter

La función JetSetSystemParameter se usa para establecer las numerosas opciones de configuración del motor de base de datos.

    JET_ERR JET_API JetSetSystemParameter(
      __in_out_opt  JET_INSTANCE* pinstance,
      __in          JET_SESID sesid,
      __in          unsigned long paramid,
      __in          JET_API_PTR lParam,
      __in_opt      JET_PCSTR szParam
    );

Parámetros

pinstance

Especifica la instancia que se va a usar para esta llamada.

Windows 2000: para Windows 2000, este parámetro se omite y siempre debe ser NULL.

Windows XP: para Windows XP y versiones posteriores, este parámetro está algo sobrecargado. Si el motor funciona en modo heredado (Windows modo de compatibilidad 2000) donde solo se admite una instancia, este parámetro puede ser NULL o puede contener la instancia real devuelta por JetInit. En cualquier caso, se leen todas las configuraciones de parámetros del sistema de esa instancia. Si el motor funciona en modo de varias instancias, este parámetro puede ser NULL o un puntero a una instancia creada mediante JetInit o JetCreateIndex. Cuando este parámetro es NULL , se lee la configuración de parámetros del sistema global (o valor predeterminado). Cuando este parámetro es una instancia, se lee la configuración del parámetro del sistema para esa instancia.

Aunque técnicamente se trata de un parámetro out, esta API nunca modifica el contenido del búfer proporcionado.

sesid

Especifica la sesión que se va a usar para esta llamada.

Cuando se especifica, se omite la instancia especificada y se usará la instancia asociada a la sesión.

paramid

Identificador del parámetro del sistema que se establecerá. Consulte Parámetros del sistema para obtener una lista completa de los parámetros del sistema y sus propiedades.

lParam

Proporciona el valor que se va a establecer para el parámetro del sistema seleccionado si ese parámetro del sistema es de un tipo entero.

szParam

Proporciona el valor del parámetro del sistema seleccionado si ese parámetro del sistema es de un tipo de cadena.

Valor devuelto

Esta función devuelve el tipo de datos JET_ERR con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.

Código devuelto

Descripción

JET_errSuccess

La operación se ha completado correctamente.

Windows Vista: en Windows Vista y versiones posteriores, se puede devolver correctamente sin cambiar el valor del parámetro del sistema. Consulte el parámetro del sistema JET_paramEnableAdvanced en el tema Meta Parameters para obtener más información.

JET_errAlreadyInitialized

La instancia se ha inicializado mediante una llamada a JetInit y esta operación no se puede realizar como resultado. Esto puede ocurrir para JetSetSystemParameter cuando se intenta configurar un parámetro del sistema después de un cambio en su valor no puede afectar al estado del motor de base de datos.

JET_errClientRequestToStopJetService

No es posible completar la operación porque toda la actividad de la instancia asociada a la sesión ha dejado de funcionar como resultado de una llamada a JetStopService.

JET_errIndexTuplesInvalidLimits

Los parámetros de índice de tupla especificados no eran válidos. JetSetSystemParameter solo puede devolver este error al establecer JET_paramIndexTuplesLengthMin, JET_paramIndexTuplesLengthMax o JET_paramIndexTuplesToIndexMax en un valor no válido.

Windows XP y Windows Server 2003: esto solo puede ocurrir en Windows XP y Windows Server 2003.

JET_errInitInProgress

No es posible completar la operación porque se inicializa la instancia asociada a la sesión.

JET_errInstanceUnavailable

No es posible completar la operación porque la instancia asociada a la sesión ha encontrado un error irrecuperable que requiere que se revoque el acceso a todos los datos para proteger la integridad de esos datos.

Windows XP: este error solo lo devolverá Windows XP y versiones posteriores.

JET_errInvalidParameter

Uno de los parámetros proporcionados contenía un valor inesperado o contenía un valor que no tenía sentido cuando se combinaba con el valor de otro parámetro. Esto puede ocurrir para JetSetSystemParameter cuando:

  • El identificador de parámetro del sistema especificado no es válido o no es compatible.

  • Se intentó establecer un parámetro del sistema con valores de cadena con una cadena cuya longitud estaba fuera del intervalo legal para el parámetro.

  • Se intentó establecer un parámetro del sistema con valores de cadena con una ruta de acceso de archivo donde la longitud de su representación de ruta de acceso absoluta estaba fuera del intervalo legal para ese parámetro.

    Windows Vista: esto solo puede ocurrir en Windows Vista y versiones posteriores.

  • Se intentó establecer un parámetro del sistema con valores enteros con un entero que estaba fuera del intervalo legal para el parámetro .

  • Se intentó establecer JET_paramUnicodeIndexDefault con un puntero NULLJET_UNICODEINDEX, un LCID no válido o un conjunto no admitido de marcas LCMapString.

    Windows Vista: esto solo puede ocurrir en Windows Vista y versiones posteriores.

  • No se puede establecer el parámetro del sistema especificado porque es de solo lectura.

  • Se intentó establecer un parámetro del sistema después de llamar a JetInit , el motor de base de datos está en modo de instancia única y no se especificó una sesión.

    Windows XP y Windows Server 2003: esto solo puede ocurrir en Windows XP y Windows Server 2003.

  • El parámetro del sistema especificado solo es global y se intentó establecer un valor específico de instancia para ese parámetro del sistema.

    Windows XP y Windows Server 2003: esto solo puede ocurrir en Windows XP y Windows Server 2003.

  • El parámetro del sistema especificado es solo por instancia y se intentó establecer el valor global para ese parámetro del sistema.

    Windows XP y Windows Server 2003: esto solo puede ocurrir en Windows XP y Windows Server 2003.

JET_errInvalidPath

La ruta de acceso del sistema de archivos especificada no era válida. JetSetSystemParameter solo puede devolver este error al establecer parámetros del sistema que representan rutas de acceso del sistema de archivos. Por ejemplo, JET_paramSystemPath puede devolver este error.

JET_errNotInitialized

No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado.

JET_errRestoreInProgress

No es posible completar la operación porque hay una operación de restauración en curso en la instancia asociada a la sesión.

JET_errTermInProgress

No es posible completar la operación porque se está cerrando la instancia asociada a la sesión.

JET_errInvalidSesid

El identificador de sesión no es válido o hace referencia a una sesión cerrada.

Este error no se devuelve en todas las circunstancias. Los identificadores solo se validan con el mejor esfuerzo.

JET_errInvalidInstance

El identificador de instancia no es válido o hace referencia a una instancia que se ha apagado.

Este error no se devuelve en todas las circunstancias. Los identificadores solo se validan con el mejor esfuerzo.

Windows Vista: este error solo lo devolverá Windows Vista y versiones posteriores.

Si se ejecuta correctamente, la configuración del parámetro del sistema se establecerá en el valor proporcionado.

En caso de error, la configuración del parámetro del sistema permanecerá sin cambios.

Observaciones

JetSetSystemParameter realiza un trabajo deficiente de validar la configuración elegida para cada parámetro del sistema. Se debe tener cuidado para no depender de esta validación para aplicar una buena configuración. Preste mucha atención a la descripción de cada parámetro del sistema y siga esas directrices para una buena configuración de parámetros del sistema.

Hay un conjunto de parámetros del sistema que siempre se deben establecer para garantizar que el motor de base de datos funcione según lo previsto. En concreto, los parámetros del sistema que afecten al diseño físico de los archivos utilizados por el motor de base de datos siempre deben establecerse. Para obtener más información, vea Parámetros del sistema.

Cada parámetro del sistema tiene un valor predeterminado. Estos valores predeterminados han evolucionado con el tiempo y son bastante arbitrarios. Se recomienda encarecidamente que una aplicación evalúe todos los valores predeterminados para asegurarse de que son adecuados. Si no son adecuados, la aplicación debe configurarla. Esto es importante, ya que muchos de estos parámetros pueden afectar considerablemente a la confiabilidad, el rendimiento y el uso de recursos del motor de base de datos.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista, Windows XP o Windows 2000 Professional.

Server

Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

DLL

Requiere ESENT.dll.

Unicode

Se implementa como JetSetSystemParameterW (Unicode) y JetSetSystemParameterA (ANSI).

Consulte también

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetGetSystemParameter
JetInit
Parámetros del sistema