Função JetCreateTableColumnIndex4W
Aplica-se a: Windows | Windows Server
A função JetCreateTableColumnIndex4W cria uma tabela em um banco de dados ESE (Mecanismo de Armazenamento Extensível) com um conjunto inicial de índices e um conjunto inicial de colunas de uma matriz de estruturas JET_TABLECREATE3 . A estrutura JET_TABLECREATE3 permite que uma função de retorno de chamada seja especificada.
A função JetCreateTableColumnIndex4W foi introduzida no sistema operacional Windows 8.
JET_ERR JET_API JetCreateTableColumnIndex4W(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in_out JET_TABLECREATE3* ptablecreate
);
Parâmetros
sesid
O contexto de sessão do banco de dados a ser usado para a chamada à API.
dbid
O identificador de banco de dados a ser usado para a chamada à API.
ptablecreate
Um ponteiro para uma estrutura JET_TABLECREATE3 que define a tabela a ser criada. Consulte JET_TABLECREATE3 para obter mais detalhes.
Valor retornado
Essa função retorna o tipo de dados JET_ERR com um dos códigos de retorno listados na tabela a seguir. Para obter mais informações sobre os possíveis erros de ESE (Extensible Storage Enginge), consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.
Código de retorno |
Descrição |
---|---|
JET_errSuccess |
A operação foi concluída com sucesso. |
JET_errCallbackNotResolved |
A função de retorno de chamada não pôde ser resolvida. A DLL pode não ter sido encontrada ou a função na DLL pode não ter sido encontrada. Com o log suficiente habilitado, o log de eventos fornecerá mais detalhes. |
JET_errCannotIndex |
Foi feita uma tentativa de indexar em uma coluna SLV ou de atualização de caução (observe que as colunas SLV foram preteridas). |
JET_errCannotNestDDL |
Retornado se o parâmetro ptablecreate-grbit> especificar o valor JET_bitTableCreateTemplateTable, mas o parâmetro ptablecreate-szTemplateTableName> for definido como nulo. |
JET_errColumnDuplicate |
Já existe uma coluna. |
JET_errColumnNotFound |
Foi feita uma tentativa de indexar em uma coluna inexistente. Uma tentativa de indexar condicionalmente em uma coluna inexistente também pode produzir esse erro. |
JET_errColumnRedundant |
Foi feita uma tentativa de adicionar uma coluna redundante. Não deve existir mais de uma coluna de autoincremento e não deve existir mais de uma coluna de versão por tabela. |
JET_errDensityInvalid |
Esse erro será retornado se o membro ulDensity da estrutura JET_INDEXCREATE2 estiver definido como um número menor que 20 ou mais de 100. |
JET_errDDLNotInheritable |
Significa que a tabela nomeada no membro szTemplateTableName da estrutura JET_TABLECREATE3 não foi marcada como uma tabela de modelo (ou seja, essa tabela não tinha o valor do parâmetro JET_bitTableCreateTemplateTable definido). |
JET_errIndexDuplicate |
Foi feita uma tentativa de definir dois índices idênticos. |
JET_errIndexHasPrimary |
Foi feita uma tentativa de especificar mais de um índice primário para uma tabela. Uma tabela deve ter exatamente um índice primário. Se nenhum índice primário for especificado, o mecanismo de banco de dados criará um de forma transparente. |
JET_errIndexInvalidDef |
Uma definição de índice inválida foi especificada. Estes são alguns dos possíveis motivos para esse erro:
|
JET_errIndexTuplesInvalidLimits |
Aplica-se a versões do Windows a partir do Windows XP. Uma estrutura de JET_TUPLELIMITS foi especificada e não há suporte para seus limites. Para obter mais informações, consulte a seção de comentários da estrutura JET_TUPLELIMITS . |
JET_errIndexTuplesNonUniqueOnly |
Aplica-se a versões do Windows a partir do Windows XP. Um índice de tupla não pode ser exclusivo (ou seja, o membro grbit da estrutura JET_INDEXCREATE2 não deve ter valores JET_bitIndexPrimary e JET_bitIndexUnique definidos). |
JET_errIndexTuplesOneColumnOnly |
Aplica-se a versões do Windows a partir do Windows XP. Um índice de tupla só poderá ser sobre uma única coluna (ou seja, se o membro grbit da estrutura JET_INDEXCREATE2 tiver JET_bitIndexTuples valor definido e o membro szKey da estrutura JET_INDEXCREATE2 especificar mais de uma coluna). |
JET_errIndexTuplesSecondaryIndexOnly |
Aplica-se a versões do Windows a partir do Windows XP. Um índice de tupla não pode ser um índice primário (ou seja, o membro grbit da estrutura JET_INDEXCREATE2 não deve ter JET_bitIndexPrimary e JET_bitIndexTuples definidos). |
JET_errIndexTuplesTextColumnsOnly |
Aplica-se a versões do Windows a partir do Windows XP. Um índice de tupla só pode estar em um texto ou coluna Unicode. Uma tentativa de indexar outras colunas (como colunas binárias) resultará em um código de resposta JET_errIndexTuplesTextColumnsOnly. |
JET_errIndexTuplesVarSegMacNotAllowed |
Aplica-se a versões do Windows a partir do Windows XP. Um índice de tupla não permite que o membro cbVarSegMac da estrutura JET_INDEXCREATE2 seja definido. |
JET_errInTransaction |
Foi feita uma tentativa de criar um índice sem informações de versão durante uma transação. |
JET_errInvalidCodePage |
O membro cp da estrutura JET_COLUMNCREATE não foi definido como uma página de código válida. Os únicos valores válidos para colunas de texto são inglês (1252) e Unicode (1200). Um valor 0 significa que o padrão será usado (inglês, 1252). |
JET_errInvalidColumnType |
O membro coltyp da estrutura JET_COLUMNCREATE não foi definido como um tipo de coluna válido. |
JET_errInvalidCreateIndex |
Veja a seguir alguns motivos pelos quais esse erro pode ocorrer:
|
JET_errInvalidgrbit |
Uma combinação inválida de membros grbit foi especificada na estrutura JET_TABLECREATE3 . A definição de índice é inválida porque o membro grbit contém valores inconsistentes. Veja a seguir alguns motivos possíveis:
|
JET_errInvalidLanguageId |
Uma LCID (ID de Localidade) inválida foi passada (por meio do membro lcid da estrutura JET_UNICODEINDEX para a qual o membro pidxunicode na estrutura JET_INDEXCREATE2 aponta ou por meio do campo lcid da estrutura JET_INDEXCREATE2 ). |
JET_errInvalidParameter |
Um parâmetro inválido foi dado. Veja a seguir alguns motivos possíveis:
|
JET_errRecordTooBig |
O disco é muito grande. A soma do membro cbMax da estrutura JET_COLUMNCREATE para todas as colunas fixas não deve exceder um determinado valor. |
JET_errTableDuplicate |
A tabela já existe. |
JET_errTooManyColumns |
Foi feita uma tentativa de adicionar muitas colunas à tabela. Uma tabela não pode ter mais do que JET_ccolFixedMost colunas fixas, não mais do que JET_ccolVarMost colunas de comprimento variável e não mais do que JET_ccolTaggedMost colunas marcadas. |
JET_errUnicodeTranslationFail |
Ocorreu um erro quando foi feita uma tentativa de normalizar uma coluna Unicode. Isso pode ser causado pela esgotamento dos recursos do sistema. |
JET_errSpaceHintsInvalid |
Um elemento da estrutura de dicas de espaço JET não estava correto ou acionável. |
Comentários
A função JetCreateTableColumnIndex4W cria uma tabela com um conjunto inicial de colunas e índices. Colunas e índices adicionais podem ser adicionados e removidos dinamicamente por meio das funções JetAddColumn, JetDeleteColumn, JetDeleteColumn2, JetCreateIndex, JetCreateIndex2, JetCreateIndex3, JetCreateIndex4W e JetDeleteIndex .
Assim como acontece com a função JetOpenTable , quando o aplicativo terminar de usar o tableid retornado, a função JetCloseTable deverá fechar o aplicativo.
Requisitos
Requisito | Valor |
---|---|
Cliente |
Requer Windows 8. |
Servidor |
Requer Windows Server 2012. |
Cabeçalho |
Declarado em Esent.h. |
Biblioteca |
Use ESENT.lib. |
DLL |
Requer ESENT.dll. |
Confira também
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