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

parameters

sesid

用于此调用的会话。

dbid

用于此调用的数据库。

szName

要重命名的表的当前名称。

szNameNew

要重命名的表的新名称。

返回值

此函数返回具有以下返回代码之一 的JET_ERR 数据类型。 有关可能的 ESE 错误的详细信息,请参阅 可扩展存储引擎错误错误处理参数

返回代码

说明

JET_errSuccess

操作已成功完成。

JET_errClientRequestToStopJetService

无法完成操作,因为由于调用 JetStopService,与会话关联的实例上的所有活动都已停止。

JET_errInstanceUnavailable

无法完成该操作,因为与会话关联的实例遇到一个致命错误,该错误要求撤销对所有数据的访问以保护该数据的完整性。 此错误仅由 Windows XP 和更高版本返回。

JET_errInvalidDatabase

指定的数据库无效。

只有在尝试对临时数据库执行表重命名操作时,才会在 Windows 2000 中返回此错误。 JET_errInvalidDatabaseId将在更高版本中返回此情况。

JET_errInvalidDatabaseId

指定的数据库 ID 无效。

JET_errInvalidName

指定的对象名称之一无效。 所有对象名称都必须符合同一组规则。 这些规则如下:

  • 对象名称必须由 ASCII 字符组成。

  • 对象名称的长度必须至少为一个字符。

  • 对象名称的长度不得超过 JET_cbNameMost (64) 个字符。

  • 对象名称不能以空格开头。

  • 对象名称不能包含通过0x1F) (0x00 ASCII 控制字符。

  • 对象名称不得包含感叹号 (!) 、句点 (.) 、左括号 ([) 或右括号 (]) 字符 - 验证后,只有字符串的一部分直到第一个空格 ((如果任何) 将用于对象名称)。 这实际上意味着对象名称也可能不包含空格。

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 中声明。

Library

使用 ESENT.lib。

DLL

需要ESENT.dll。

Unicode

作为 JetRenameTableW (Unicode) 和 JetRenameTableA (ANSI) 实现。

另请参阅

JET_DBID
JET_ERR
JET_SESID
JetBeginTransaction2