Freigeben über


JetRenameColumn-Funktion

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JetRenameColumn-Funktion

Die JetRenameColumn -Funktion kann verwendet werden, um den Namen einer vorhandenen Spalte in einer Tabelle zu ändern.

Windows XP:  JetRenameColumn wird in Windows XP eingeführt.

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
);

Parameter

sesid

Die Sitzung für diesen Aufruf verwenden.

Tabellen-ID

Der Cursor für diesen Aufruf verwenden.

szName

Der aktuelle Name der Spalte, die umbenannt wird.

szNameNew

Der neue Name für die Spalte, die umbenannt wird.

JET_errInvalidGrbit

Dieser Parameter muss 0 sein.

Return Value

Diese Funktion gibt den Datentyp der JET_ERR mit einem der folgenden Rückgabecodes. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine-Fehler und Fehler behandeln Parameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errClientRequestToStopJetService

Es ist nicht möglich, um den Vorgang abzuschließen, da alle Aktivitäten in der Instanz dieser Sitzung aufgrund eines Aufrufs von JetStopServiceeingestellt hat.

JET_errColumnNotFound

Dieser angegebene Spalte existiert nicht für diese Tabelle.

JET_errInvalidName

Einer der angegebenen Objektnamen ist ungültig. Alle Objektnamen müssen den gleichen Satz von Regeln entsprechen. Diese Regeln sind wie folgt:

  • Objektnamen müssen aus ASCII-Zeichen bestehen.

  • Objektnamen müssen mindestens ein Zeichen lang sein.

  • Objektnamen können JET_cbNameMost (64) Zeichen nicht überschreiten.

  • Objektnamen dürfen nicht mit einem Leerzeichen beginnen - Objektnamen dürfen nicht ASCII-Steuerzeichen (0 x 00 bis 0x1F).

  • Objektnamen dürfen kein Ausrufezeichen (!), Punkt (.), Links eckige Klammer ([]) oder Rechte eckige Klammer (]) Zeichen.

  • Nach der Bestätigung, wird nur der Teil der Zeichenfolge bis zum ersten Leerzeichen (sofern vorhanden) für die zu verwendenden Objektnamen verwendet werden. Dies bedeutet, dass die Objektnamen keine entweder ein Leerzeichen enthalten dürfen.

JET_errInvalidParameter

Einer der bereitgestellten Parameter einen unerwarteten Wert enthalten oder enthalten einen Wert, der nicht mit dem Wert eines anderen Parameters kombiniert keinen Sinn. Dies kann passieren, für JetRenameColumn bei:

  • SzName ist NULL.

  • SzNameNew ist NULL.

JET_errInstanceUnavailable

Es ist nicht möglich, um den Vorgang abzuschließen, da die Sitzung zugeordnete Instanz ein schwerwiegender Fehler, der erfordert aufgetreten ist, dass der Zugriff auf alle Daten gesperrt werden, um die Integrität der Daten zu schützen. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben werden.

JET_errInTransaction

Dieser Vorgang kann nur ausgeführt werden, wenn die Sitzung nicht innerhalb einer Transaktion befindet.

JET_errNotInitialized

Es ist nicht möglich, um den Vorgang abzuschließen, da die Instanz dieser Sitzung noch nicht initialisiert wurde.

JET_errRestoreInProgress

Es ist nicht möglich, um den Vorgang abzuschließen, da ein Wiederherstellungsvorgang ausgeführt auf die Instanz der Sitzung zugeordnet wird.

JET_errSessionSharingViolation

Die gleiche Sitzung kann für mehrere Threads gleichzeitig verwendet werden. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben werden.

JET_errTermInProgress

Es ist nicht möglich, um den Vorgang abzuschließen, da die Sitzung zugeordnete Instanz heruntergefahren wird.

JET_errTransReadOnly

Ein Update nicht innerhalb des Bereichs einer Transaktion schreibgeschützt while. Eine nur-Lese Transaktion ist eine Transaktion, die mit einem Aufruf von JetBeginTransaction2 mit JET_bitTransactionReadOnly gestartet wurde. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben werden.

Bei Erfolg wird der Name der angegebenen Spalte in der Tabelle, die dem Cursor zugeordnet dauerhaft in den neuen Namen geändert. Indizes, die auf diese Spalte verweisen, werden auch aktualisiert.

Bei einem Fehler wird keine Änderung an den Zustand der Datenbank auftreten.

Anmerkungen

Die Spalte Umbenennung ist ungewöhnlich, da, im Gegensatz zu anderen Schemavorgänge sie nicht wie eine Transaktion durchgeführt wird. Wenn eine Spalte in einer bestimmten Tabelle in einer Sitzung dann keine anderen Sitzungen unter Verwendung dieser Tabelle umbenannt wird sehen die Änderung sofort, selbst wenn sie in einer Transaktion sind, die diese Sitzung sehen alle anderen Änderungen von der Sitzung die Umbenennung durchführen sollen.

Die Spalten-ID einer Spalte wird die Umbenennung nicht betroffen.

Voraussetzungen

-Client,

Erfordert Windows Vista oder Windows XP.

Server

Erfordert WindowsServer 2008 oder WindowsServer 2003.

Kopfzeile

In Esent.h deklariert.

Library

Verwenden Sie ESENT.lib.

DLL

"ESENT.dll" erfordert.

Unicode

Implementiert als JetRenameColumnW (Unicode) und JetRenameColumnA (ANSI).

Siehe auch

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetBeginTransaction2