Condividi tramite


Funzione JetGetTableInfo

Si applica a: Windows | Windows Server

Funzione JetGetTableInfo

La funzione JetGetTableInfo recupera varie informazioni su una tabella in un database.

    JET_ERR JET_API JetGetTableInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Parametri

sesid

Contesto della sessione di database da usare per la chiamata API.

tableid

Tabella a cui si applicano le informazioni.

pvResult

Puntatore a un buffer che riceverà le informazioni. Il tipo del buffer dipende da InfoLevel. È responsabilità del chiamante allineare il buffer in modo appropriato.

cbMax

Dimensione, in byte, del buffer passato in pvResult.

InfoLevel

Tipo di informazioni che verranno recuperate per la tabella specificata da tableid. Il formato dei dati archiviati in pvResult dipende da InfoLevel.

Per questo parametro è possibile impostare le opzioni seguenti:

Valore

Significato

JET_TblInfo

pvResult viene interpretato come struttura JET_OBJECTINFO . Se il metodo ha esito positivo, la struttura JET_OBJECTINFO viene compilata con i dati appropriati. Se ha esito negativo, il contenuto non è definito.

JET_TblInfoDbid

pvResult viene considerato come una matrice di due oggetti JET_DBID . L'identificatore di database del database proprietario della tabella viene archiviato due volte in questa matrice.

JET_TblInfoDumpTable

JET_TblInfoDumpTable è deprecato. L'API restituirà JET_errFeatureNotAvailable.

JET_TblInfoName

JET_TblInfoName recupera il nome della tabella e lo archivia in pvResult. Se il buffer è troppo piccolo, il comportamento non è definito.

JET_TblInfoMostMany

JET_TblInfoMostMany recupera il nome della tabella e lo archivia in pvResult. Se il buffer è troppo piccolo, il comportamento non è definito.

JET_TblInfoOLC

JET_TblInfoOLC è deprecato. L'API restituirà JET_errFeatureNotAvailable.

JET_TblInfoRvt

JET_TblInfoRvt è deprecato. L'API restituirà JET_errQueryNotSupported.

JET_TblInfoResetOLC

JET_TblInfoResetOLC è deprecato. L'API restituirà JET_errFeatureNotAvailable.

JET_TblInfoSpaceAlloc

pvResult viene interpretato come una matrice di due ULONG:

  • La prima ULONG è il numero di pagine nella tabella.

  • Il secondo ULONG è la densità di destinazione delle pagine per la tabella.

JET_TblInfoSpaceAvailable

pvResult viene interpretato come ULONG. ULONG è la somma del numero di pagine disponibili nella tabella, nei relativi indici e nell'albero dei valori lunghi.

JET_TblInfoSpaceOwned

pvResult viene interpretato come ULONG. ULONG è la somma del numero di pagine di proprietà della tabella (inclusi gli indici e l'albero dei valori lunghi e le pagine disponibili).

JET_TblInfoSpaceUsage

Il comportamento dell'API dipende dalla dimensione del buffer passato all'API. Due valori cbMax devono essere almeno ( 2 * sizeof( ULONG ) ).

  • Se cbMax è ( 2 * sizeof( ULONG ) ), pvResult viene interpretato come una matrice di due ULONG:

    • La prima ULONG è il numero di extent di proprietà della tabella.

    • Il secondo ULONG è il numero di extent disponibili della tabella.

  • pvResult viene interpretato come una matrice di:

    • La prima ULONG è il numero di extent di proprietà della tabella.

    • Il secondo ULONG è il numero di extent disponibili della tabella.

JET_TblInfoTemplateTableName

pvResult viene interpretato come buffer stringa. Il buffer deve essere almeno JET_cbNameMost + 1, incluso il valore NULL di terminazione. Se la tabella è una tabella derivata, il buffer verrà compilato con il nome della tabella da cui la tabella derivata ha ereditato il relativo DDL. Se la tabella non è una tabella derivata, il buffer sarà una stringa vuota.

Valore restituito

Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sui possibili errori ESE, vedere Errori del motore di archiviazione estendibile e parametri di gestione degli errori.

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errBufferTooSmall

Il buffer era troppo piccolo.

JET_errFeatureNotAvailable

È stato specificato un InfoLevel deprecato.

JET_errInvalidBufferSize

La dimensione del buffer non è corretta.

JET_errInvalidOperation

La tabella passata era una tabella temporanea e non è possibile recuperare l'InfoLevel richiesto per una tabella temporanea.

JET_errObjectNotFound

La tabella passata era una tabella temporanea e non è possibile recuperare l'InfoLevel richiesto per una tabella temporanea.

JET_errQueryNotSupported

InfoLevel non è supportato.

JET_errTableInUse

La tabella viene utilizzata da un'altra operazione di database.

JET_errTableLocked

La tabella è bloccata da un'altra operazione del database.

JET_wrnTableInUseBySystem

La tabella viene utilizzata dal sistema. Questo avviso non è irreversibile.

Commenti

Alcune informazioni non sono valide per le tabelle temporanee (vedere JetOpenTempTable).

Le statistiche della tabella includono il numero di record e il numero di pagine nell'indice cluster, ovvero l'indice contenente i dati del record. Le statistiche dell'indice sono accessibili separatamente in base al nome, usando JetGetIndexInfo o JetGetTableIndexInfo.

Requisiti

Requisito Valore

Client

Richiede Windows Vista, Windows XP o Windows 2000 Professional.

Server

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

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.

Unicode

Implementato come JetGetTableInfoW (Unicode) e JetGetTableInfoA (ANSI).

Vedere anche

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JetGetIndexInfo
JetGetObjectInfo
JetGetTableIndexInfo
JetOpenTempTable