Función JetSetColumnDefaultValue
Se aplica a: Windows | Windows Server
Función JetSetColumnDefaultValue
La función JetSetColumnDefaultValue se puede usar para cambiar el valor predeterminado de una columna existente.
JET_ERR JET_API JetSetColumnDefaultValue(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in JET_PCSTR szTableName,
__in JET_PCSTR szColumnName,
__in const void* pvData,
__in const unsigned long cbData,
__in const JET_GRBIT grbit
);
Parámetros
sesid
La sesión que se va a usar para esta llamada.
dbid
Base de datos que se va a usar para esta llamada.
szTableName
Nombre de la tabla que contiene la columna que se verá afectada.
szColumnName
Nombre de la columna cuyo valor predeterminado se cambiará.
pvData
Búfer de entrada que contiene el nuevo valor predeterminado.
cbData
Tamaño del búfer de entrada que contiene el nuevo valor predeterminado.
grbit
Reservado para uso futuro.
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_errColumnIllegalNull |
Igual que JET_errNullInvalid. |
JET_errColumnInUse |
Esta columna especificada está actualmente en uso por un índice. JetSetColumnDefaultValue no puede cambiar el valor predeterminado de una columna a la que se hace referencia en la definición de un índice. Esto se debe a que hacerlo podría cambiar el contenido del índice. |
JET_errColumnNotFound |
Esta columna especificada no existe para esta tabla. |
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_errInvalidDatabaseId |
El identificador de base de datos especificado no era válido. |
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:
|
JET_errNotInitialized |
No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado. |
JET_errNullInvalid |
No se pudo establecer la columna en NULL. Esto sucede para JetSetColumnDefaultValue cuando:
Por lo tanto, no es posible establecer el valor predeterminado de una columna (atrás) en NULL o en un valor de longitud cero. |
JET_errObjectNotFound |
Esta tabla especificada no existe para esta base de datos. |
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_errTableInUse |
Otra sesión usa esta tabla especificada. JetSetColumnDefaultValue requiere acceso exclusivo a una tabla para cambiar el valor predeterminado de la columna para las versiones anteriores a Windows Server 2003. |
JET_errTermInProgress |
No es posible completar la operación porque la instancia asociada a la sesión se está cerrando. |
JET_errTransReadOnly |
No es válido intentar una actualización cuando 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. |
JET_errWriteConflict |
Otra sesión ha bloqueado previamente el registro para la actualización. Se producirá un error en la actualización intentada por esta sesión. |
Si se ejecuta correctamente, el valor predeterminado de la columna especificada en la tabla especificada de la base de datos determinada se cambia permanentemente al nuevo valor predeterminado.
Si se produce un error, no se producirá ningún cambio en el estado de la base de datos.
Observaciones
No es posible cambiar el valor predeterminado de una columna en una tabla de plantilla.
El motor de base de datos truncará silenciosamente el valor predeterminado de una columna a 255 bytes para columnas binarias largas y de texto largo.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista, Windows XP o Windows 2000 Professional. |
Servidor |
Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Encabezado |
Declarado en Esent.h. |
Library |
Use ESENT.lib. |
Archivo DLL |
Requiere ESENT.dll. |
Unicode |
Se implementa como JetSetColumnDefaultValueW (Unicode) y JetSetColumnDefaultValueA (ANSI). |
Consulte también
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction2
JetStopService