Condividi tramite


Funzione JetRenameColumn

Si applica a: Windows | Windows Server

Funzione JetRenameColumn

La funzione JetRenameColumn può essere usata per modificare il nome di una colonna esistente in una tabella.

Windows XP:JetRenameColumn è stato introdotto in 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
    );

Parametri

sesid

Sessione da utilizzare per questa chiamata.

tableid

Cursore da utilizzare per questa chiamata.

Szname

Nome corrente della colonna che verrà rinominata.

szNameNew

Nuovo nome per la colonna che verrà rinominata.

grbit

Questo parametro deve essere 0.

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_errClientRequestToStopJetService

Non è possibile completare l'operazione perché tutte le attività sull'istanza associata alla sessione sono cessate a seguito di una chiamata a JetStopService.

JET_errColumnNotFound

Questa colonna specificata non esiste per questa tabella.

JET_errInvalidName

Uno dei nomi di oggetto specificati non è valido. Tutti i nomi degli oggetti devono essere conformi allo stesso set di regole. Le regole sono le seguenti:

  • I nomi degli oggetti devono essere costituiti da caratteri ASCII.

  • I nomi degli oggetti devono avere almeno un carattere di lunghezza.

  • I nomi degli oggetti non possono superare JET_cbNameMost (64) caratteri di lunghezza.

  • I nomi degli oggetti potrebbero non iniziare con uno spazio. I nomi degli oggetti potrebbero non contenere caratteri di controllo ASCII (0x00 tramite 0x1F).

  • I nomi degli oggetti non possono contenere un punto esclamativo (!), punto (.), parentesi quadra sinistra ([) o parentesi quadra chiusa (]).

  • Dopo la convalida, solo la parte della stringa fino al primo spazio (se presente) verrà usata per il nome dell'oggetto. Ciò significa che i nomi degli oggetti potrebbero non contenere uno spazio.

JET_errInvalidParameter

Uno dei parametri forniti conteneva un valore imprevisto o conteneva un valore che non ha senso se combinato con il valore di un altro parametro. Questo problema può verificarsi per JetRenameColumn quando:

  • szName è NULL.

  • szNameNew è NULL.

JET_errInstanceUnavailable

Non è possibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede la revoca dell'accesso a tutti i dati per proteggere l'integrità dei dati. Questo errore verrà restituito solo da Windows XP e versioni successive.

JET_errInTransaction

Questa operazione può essere eseguita solo quando la sessione non è attualmente all'interno di una transazione.

JET_errNotInitialized

Non è possibile completare l'operazione perché l'istanza associata alla sessione non è ancora stata inizializzata.

JET_errRestoreInProgress

Non è possibile completare l'operazione perché è in corso un'operazione di ripristino nell'istanza associata alla sessione.

JET_errSessionSharingViolation

La stessa sessione non può essere usata contemporaneamente per più thread. Questo errore verrà restituito solo da Windows XP e versioni successive.

JET_errTermInProgress

Non è possibile completare l'operazione perché l'istanza associata alla sessione viene arrestata.

JET_errTransReadOnly

Non è possibile eseguire un aggiornamento all'interno dell'ambito di una transazione di sola lettura. Una transazione di sola lettura è una transazione avviata usando una chiamata a JetBeginTransaction2 con JET_bitTransactionReadOnly. Questo errore verrà restituito solo da Windows XP e versioni successive.

In caso di esito positivo, il nome della colonna specificata nella tabella associata al cursore viene modificato in modo permanente nel nuovo nome. Verranno aggiornati anche gli indici che fanno riferimento a tale colonna.

In caso di errore, non verrà apportata alcuna modifica allo stato del database.

Commenti

L'operazione di ridenominazione della colonna è insolita perché, a differenza di altre operazioni dello schema, non viene eseguita come transazione. Quando una colonna in una determinata tabella viene rinominata in una sessione, qualsiasi altra sessione che usa tale tabella visualizzerà immediatamente la modifica, anche se si trovano in una transazione che impedisce a tale sessione di visualizzare qualsiasi altra modifica apportata dalla sessione che esegue l'operazione di ridenominazione.

L'ID di colonna di una colonna non è interessato dall'operazione di ridenominazione.

Requisiti

Requisito Valore

Client

Richiede Windows Vista o Windows XP.

Server

Richiede Windows Server 2008 o Windows Server 2003.

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.

Unicode

Implementato come JetRenameColumnW (Unicode) e JetRenameColumnA (ANSI).

Vedere anche

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetBeginTransaction2