Función JetRenameColumn

Se aplica a: Windows | Windows Server

Función JetRenameColumn

La función JetRenameColumn se puede usar para cambiar el nombre de una columna existente en una tabla.

Windows XP:JetRenameColumn se presenta en Windows XP.

    JET_ERR JET_API JetRenameColumn(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_PCSTR szName,
      __in          JET_PCSTR szNameNew,
      __in          JET_GRBIT grbit
    );

Parámetros

sesid

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

tableid

Cursor que se va a usar para esta llamada.

szName

Nombre actual de la columna cuyo nombre se cambiará.

szNameNew

Nuevo nombre de la columna cuyo nombre se cambiará.

grbit

El valor de este parámetro deberá ser 0.

Valor devuelto

Esta función devuelve el JET_ERR tipo de datos 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.

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_errColumnNotFound

Esta columna especificada no existe para esta tabla.

JET_errInvalidName

Uno de los nombres de objeto especificados no era válido. Todos los nombres de objeto deben cumplir el mismo conjunto de reglas. Estas reglas son:

  • Los nombres de objeto deben estar compuestos de caracteres ASCII.

  • Los nombres de objeto deben tener al menos un carácter de longitud.

  • Es posible que los nombres de objeto no superen JET_cbNameMost (64) caracteres de longitud.

  • Es posible que los nombres de objeto no comiencen con un espacio: es posible que los nombres de objeto no contengan caracteres de control ASCII (0x00 a través de 0x1F).

  • Los nombres de objeto no pueden contener un signo de exclamación (!), punto (.), corchete izquierdo ([) o corchete derecho (]).

  • Una vez validado, solo se usará la parte de la cadena hasta el primer espacio (si existe) para el nombre del objeto. Esto significa eficazmente que los nombres de objeto tampoco pueden contener un espacio.

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 JetRenameColumn cuando:

  • szName es NULL.

  • szNameNew es NULL.

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. Este error solo lo devolverá Windows XP y versiones posteriores.

JET_errInTransaction

Esta operación solo se puede realizar cuando la sesión no se encuentra actualmente dentro de una transacción.

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 una operación de restauración está en curso en la instancia asociada a la sesión.

JET_errSessionSharingViolation

No se puede usar la misma sesión para más de un subproceso al mismo tiempo. Este error solo lo devolverá Windows XP y versiones posteriores.

JET_errTermInProgress

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

JET_errTransReadOnly

No se puede realizar una actualización mientras se encuentra dentro del ámbito de una transacción de solo lectura. Una transacción de solo lectura es una transacción que se ha iniciado mediante una llamada a JetBeginTransaction2 con JET_bitTransactionReadOnly. Este error solo lo devolverá Windows XP y versiones posteriores.

Si se ejecuta correctamente, el nombre de la columna especificada en la tabla asociada al cursor se cambia permanentemente al nuevo nombre. Los índices que hagan referencia a esa columna también se actualizarán.

Si se produce un error, no se producirá ningún cambio en el estado de la base de datos.

Comentarios

La operación de cambio de nombre de columna no es habitual porque, a diferencia de otras operaciones de esquema, no se lleva a cabo como transacción. Cuando se cambia el nombre de una columna de una tabla determinada en una sesión, cualquier otra sesión que use esa tabla verá el cambio inmediatamente, aunque estén en una transacción que impida que esa sesión vea cualquier otro cambio realizado por la sesión que realice la operación de cambio de nombre.

El identificador de columna de una columna no se ve afectado por la operación de cambio de nombre.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista o Windows XP.

Servidor

Requiere Windows Server 2008 o Windows Server 2003.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Unicode

Se implementa como JetRenameColumnW (Unicode) y JetRenameColumnA (ANSI).

Consulte también

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetBeginTransaction2