JetRenameColumn-Funktion

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, die für diesen Aufruf verwendet werden soll.

tableid

Der Cursor, der für diesen Aufruf verwendet werden soll.

szName

Der aktuelle Name der Spalte, die umbenannt wird.

szNameNew

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

grbit

Dieser Parameter muss 0 sein.

Rückgabewert

Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errClientRequestToStopJetService

Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf der instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden.

JET_errColumnNotFound

Diese angegebene Spalte ist für diese Tabelle nicht vorhanden.

JET_errInvalidName

Einer der angegebenen Objektnamen war ungültig. Alle Objektnamen müssen demselben Satz von Regeln entsprechen. Nachfolgend sind diese Regeln aufgeführt:

  • Objektnamen müssen aus ASCII-Zeichen bestehen.

  • Objektnamen müssen mindestens ein Zeichen lang sein.

  • Objektnamen dürfen JET_cbNameMost (64) Zeichen nicht überschreiten.

  • Objektnamen beginnen möglicherweise nicht mit einem Leerzeichen. Objektnamen dürfen keine ASCII-Steuerelementzeichen enthalten (0x00 bis 0x1F).

  • Objektnamen dürfen kein Ausrufezeichen (!), Punkt (.), linke Klammer ([) oder rechte Klammer (]) enthalten.

  • Nach der Überprüfung wird nur der Teil der Zeichenfolge bis zum ersten Leerzeichen (falls vorhanden) für den Objektnamen verwendet. Dies bedeutet, dass Objektnamen möglicherweise auch kein Leerzeichen enthalten.

JET_errInvalidParameter

Einer der bereitgestellten Parameter enthielt einen unerwarteten Wert oder einen Wert, der in Kombination mit dem Wert eines anderen Parameters nicht sinnvoll war. Dies kann bei JetRenameColumn in folgenden Fällen der Fall sein:

  • szName ist NULL.

  • szNameNew ist NULL.

JET_errInstanceUnavailable

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

JET_errInTransaction

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

JET_errNotInitialized

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde.

JET_errRestoreInProgress

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

JET_errSessionSharingViolation

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

JET_errTermInProgress

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

JET_errTransReadOnly

Eine Aktualisierung kann nicht durchgeführt werden, während sich der Bereich einer schreibgeschützten Transaktion befindet. Eine schreibgeschützte Transaktion ist eine Transaktion, die mithilfe eines Aufrufs von JetBeginTransaction2 mit JET_bitTransactionReadOnly gestartet wurde. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben.

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

Bei einem Fehler tritt keine Änderung des Datenbankzustands auf.

Bemerkungen

Der Spaltenumbenennungsvorgang ist ungewöhnlich, da er im Gegensatz zu anderen Schemavorgängen nicht als Transaktion ausgeführt wird. Wenn eine Spalte in einer bestimmten Tabelle in einer Sitzung umbenannt wird, sieht jede andere Sitzung, die diese Tabelle verwendet, die Änderung sofort, auch wenn sie sich in einer Transaktion befinden, die verhindert, dass diese Sitzung andere Änderungen sieht, die von der Sitzung vorgenommen wurden, die den Umbenennungsvorgang ausführt.

Die Spalten-ID einer Spalte wird vom Umbenennungsvorgang nicht beeinflusst.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista oder Windows XP.

Server

Erfordert Windows Server 2008 oder Windows Server 2003.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

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

Weitere Informationen

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetBeginTransaction2