Función JetCreateTableColumnIndex4W
Se aplica a: Windows | Windows Server
La función JetCreateTableColumnIndex4W crea una tabla en un motor de almacenamiento extensible (ESA( base de datos con un conjunto inicial de índices y un conjunto inicial de columnas de una matriz de estructuras de JET_TABLECREATE3 . La estructura JET_TABLECREATE3 permite especificar una función de devolución de llamada.
La función JetCreateTableColumnIndex4W se introdujo en el sistema operativo Windows 8.
JET_ERR JET_API JetCreateTableColumnIndex4W(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in_out JET_TABLECREATE3* ptablecreate
);
Parámetros
sesid
Contexto de sesión de base de datos que se va a usar para la llamada API.
dbid
Identificador de base de datos que se va a usar para la llamada API.
ptablecreate
Puntero a una estructura JET_TABLECREATE3 que define la tabla que se va a crear. Consulte JET_TABLECREATE3 para obtener más detalles.
Valor devuelto
Esta función devuelve el tipo de datos JET_ERR con uno de los códigos de retorno enumerados en la tabla siguiente. Para obtener más información sobre los posibles errores de Enginge de almacenamiento extensible (ESE), consulte Extensible Storage Engine Errors and Error Handling Parameters.
Código devuelto |
Descripción |
---|---|
JET_errSuccess |
La operación se ha completado correctamente. |
JET_errCallbackNotResolved |
No se pudo resolver la función de devolución de llamada. Es posible que no se haya encontrado el archivo DLL o que no se haya encontrado la función en el archivo DLL. Con el registro suficiente habilitado, el registro de eventos proporcionará más detalles. |
JET_errCannotIndex |
Se intentó indizar sobre una columna de actualización de custodia o SLV (tenga en cuenta que las columnas SLV están en desuso). |
JET_errCannotNestDDL |
Se devuelve si el parámetro ptablecreate-grbit> especifica el valor JET_bitTableCreateTemplateTable, pero el parámetro ptablecreate-szTemplateTableName> se establece en null. |
JET_errColumnDuplicate |
Ya existe una columna. |
JET_errColumnNotFound |
Se intentó indizar en una columna inexistente. Un intento de indexar condicionalmente a través de una columna inexistente también puede producir este error. |
JET_errColumnRedundant |
Se intentó agregar una columna redundante. No debe existir más de una columna de autoincremento y no debe existir más de una columna de versión por tabla. |
JET_errDensityInvalid |
Este error se devolverá si el miembro ulDensity de la estructura JET_INDEXCREATE2 está establecido en un número menor que 20 o más de 100. |
JET_errDDLNotInheritable |
Indica que la tabla denominada en el miembro szTemplateTableName de la estructura JET_TABLECREATE3 no se marcó como una tabla de plantilla (es decir, esa tabla no tenía establecido el valor de parámetro JET_bitTableCreateTemplateTable). |
JET_errIndexDuplicate |
Se intentó definir dos índices idénticos. |
JET_errIndexHasPrimary |
Se intentó especificar más de un índice principal para una tabla. Una tabla debe tener exactamente un índice principal. Si no se especifica ningún índice principal, el motor de base de datos creará uno de forma transparente. |
JET_errIndexInvalidDef |
Se especificó una definición de índice no válida. A continuación se muestran algunos de los posibles motivos de este error:
|
JET_errIndexTuplesInvalidLimits |
Se aplica a las versiones de Windows a partir de Windows XP. Se especificó una estructura JET_TUPLELIMITS y no se admiten sus límites. Para obtener más información, vea la sección comentarios de la estructura JET_TUPLELIMITS . |
JET_errIndexTuplesNonUniqueOnly |
Se aplica a las versiones de Windows a partir de Windows XP. Un índice de tupla no puede ser único (es decir, el miembro grbit de la estructura JET_INDEXCREATE2 no debe tener tanto JET_bitIndexPrimary como JET_bitIndexUnique valores establecidos). |
JET_errIndexTuplesOneColumnOnly |
Se aplica a las versiones de Windows a partir de Windows XP. Un índice de tupla solo puede estar sobre una sola columna (es decir, si el miembro grbit de la estructura JET_INDEXCREATE2 tiene establecido JET_bitIndexTuples valor y el miembro szKey de la estructura JET_INDEXCREATE2 especifica más de una columna). |
JET_errIndexTuplesSecondaryIndexOnly |
Se aplica a las versiones de Windows a partir de Windows XP. Un índice de tupla no puede ser un índice principal (es decir, el miembro grbit de la estructura JET_INDEXCREATE2 no debe tener JET_bitIndexPrimary y JET_bitIndexTuples establecer). |
JET_errIndexTuplesTextColumnsOnly |
Se aplica a las versiones de Windows a partir de Windows XP. Un índice de tupla solo puede estar en una columna text o Unicode. Un intento de indexar otras columnas (como columnas binarias) dará como resultado un código de respuesta JET_errIndexTuplesTextColumnsOnly. |
JET_errIndexTuplesVarSegMacNotAllowed |
Se aplica a las versiones de Windows a partir de Windows XP. Un índice de tupla no permite establecer el miembro cbVarSegMac de la estructura JET_INDEXCREATE2 . |
JET_errInTransaction |
Se intentó crear un índice sin información de versión mientras se encontraba en una transacción. |
JET_errInvalidCodePage |
El miembro cp de la estructura JET_COLUMNCREATE no se estableció en una página de códigos válida. Los únicos valores válidos para las columnas de texto son Inglés (1252) y Unicode (1200). Un valor de 0 significa que se usará el valor predeterminado (inglés, 1252). |
JET_errInvalidColumnType |
El miembro coltyp de la estructura JET_COLUMNCREATE no se estableció en un tipo de columna válido. |
JET_errInvalidCreateIndex |
Estos son algunos de los motivos por los que puede producirse este error:
|
JET_errInvalidgrbit |
Se especificó una combinación no válida de miembros grbit en la estructura JET_TABLECREATE3 . La definición de índice no es válida porque el miembro grbit contiene valores incoherentes. Los siguientes son algunos de los motivos posibles:
|
JET_errInvalidLanguageId |
Se pasó un identificador de configuración regional (LCID) no válido (ya sea a través del miembro lcid de la estructura JET_UNICODEINDEX a la que apunta el miembro pidxunicode de la estructura JET_INDEXCREATE2 o a través del campo lcid de la estructura JET_INDEXCREATE2 ). |
JET_errInvalidParameter |
Se ha especificado un parámetro no válido. Estos son algunos de los motivos posibles:
|
JET_errRecordTooBig |
El registro es demasiado grande. La suma del miembro cbMax de la estructura JET_COLUMNCREATE para todas las columnas fijas no debe superar un valor determinado. |
JET_errTableDuplicate |
La tabla ya existe. |
JET_errTooManyColumns |
Se intentó agregar demasiadas columnas a la tabla. Una tabla no puede tener más de JET_ccolFixedMost columnas fijas, no más de JET_ccolVarMost columnas de longitud variable y no más de JET_ccolTaggedMost columnas etiquetadas. |
JET_errUnicodeTranslationFail |
Error al intentar normalizar una columna Unicode. Esto puede deberse a la ejecución de recursos del sistema. |
JET_errSpaceHintsInvalid |
Un elemento de la estructura de sugerencias de espacio JET no era correcto o accionable. |
Comentarios
La función JetCreateTableColumnIndex4W crea una tabla con un conjunto inicial de columnas e índices. Las columnas e índices adicionales se pueden agregar e quitar dinámicamente mediante las funciones JetAddColumn, JetDeleteColumn, JetDeleteColumn2, JetCreateIndex, JetCreateIndex2, JetCreateIndex3, JetCreateIndex4W y JetDeleteIndex .
Al igual que con la función JetOpenTable , cuando la aplicación se realiza mediante el tableid devuelto, la función JetCloseTable debe cerrar la aplicación.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows 8. |
Servidor |
Requiere Windows Server 2012. |
Encabezado |
Declarado en Esent.h. |
Library |
Use ESENT.lib. |
Archivo DLL |
Requiere ESENT.dll. |
Consulte también
JET_CBTYP
JET_DBID
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_INDEXCREATE2
JET_SESID
JET_TABLEID
JET_TABLECREATE2
JET_TABLECREATE3
JET_TUPLELIMITS
JetAddColumn
JetCreateIndex
JetCreateIndex2
JetCreateIndex3
JetCreateTable
JetCreateTableColumnIndex
JetDeleteColumn
JetDeleteColumn2