Поделиться через


Функция JetRenameTable

Применимо к: Windows | Windows Server

Функция JetRenameTable

Функция JetRenameTable может использоваться для изменения имени существующей таблицы.

    JET_ERR JET_API JetRenameTable(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          const tchar* szName,
      __in          const tchar* szNameNew
    );

Параметры

sesid

Сеанс, используемый для этого вызова.

dbid

База данных, используемая для этого вызова.

szName

Текущее имя таблицы, которая будет переименована.

szNameNew

Новое имя таблицы, которая будет переименована.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errClientRequestToStopJetService

Невозможно выполнить операцию, так как все действия экземпляра, связанного с сеансом, прекратились в результате вызова JetStopService.

JET_errInstanceUnavailable

Невозможно выполнить операцию, так как экземпляр, связанный с сеансом, столкнулся с неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных. Эта ошибка будет возвращена только в Windows XP и более поздних выпусках.

JET_errInvalidDatabase

Указанная база данных является недопустимой.

Эта ошибка возвращается в Windows 2000 только при попытке переименования таблицы во временной базе данных. JET_errInvalidDatabaseId возвращается для этого случая в более поздних выпусках.

JET_errInvalidDatabaseId

Указанный идентификатор базы данных недопустим.

JET_errInvalidName

Одно из указанных имен объектов было недопустимым. Все имена объектов должны соответствовать одному и тому же набору правил. Ниже приведены эти правила.

  • Имена объектов должны состоять из символов ASCII.

  • Имена объектов должны иметь длину не менее одного символа.

  • Длина имен объектов не может превышать JET_cbNameMost (64) символа.

  • Имена объектов не могут начинаться с пробела.

  • Имена объектов не могут содержать управляющие символы ASCII (0x00 по 0x1F).

  • Имена объектов не могут содержать восклицательный знак (!), точку (.), левую скобку ([) или правую скобку (]) — после проверки для имени объекта будет использоваться только часть строки до первого пробела (если таковой имеется). Это фактически означает, что имена объектов также могут не содержать пробела.

JET_errInvalidParameter

Один из предоставленных параметров содержал непредвиденное значение или значение, которое не имело смысла в сочетании со значением другого параметра. Это может произойти для JetRenameTable , если:

  • szName имеет значение NULL.

  • szNameNew имеет значение NULL.

JET_errNotInitialized

Невозможно выполнить операцию, так как экземпляр, связанный с сеансом, еще не инициализирован.

JET_errObjectNotFound

Указанная таблица не существует для этой базы данных.

JET_errRestoreInProgress

Невозможно выполнить операцию, так как операция восстановления выполняется в экземпляре, связанном с сеансом.

JET_errSessionSharingViolation

Один и тот же сеанс нельзя использовать для нескольких потоков одновременно. Эта ошибка будет возвращена только в Windows XP и более поздних выпусках.

JET_errTermInProgress

Невозможно завершить операцию, так как экземпляр, связанный с сеансом, завершает работу.

JET_errTransReadOnly

Обновление невозможно выполнить в область транзакции, доступной только для чтения. Транзакция только для чтения — это транзакция, запущенная с помощью вызова JetBeginTransaction2 с JET_bitTransactionReadOnly.

Эта ошибка будет возвращена только в Windows XP и более поздних выпусках.

При успешном выполнении имя указанной таблицы в данной базе данных постоянно меняется на новое.

При сбое изменение состояния базы данных не произойдет.

Требования

Требование Значение

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Professional.

Сервер

Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

Юникод

Реализовано как JetRenameTableW (Юникод) и JetRenameTableA (ANSI).

См. также:

JET_DBID
JET_ERR
JET_SESID
JetBeginTransaction2