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 |
指定的对象名称之一无效。 所有对象名称都必须符合同一组规则。 这些规则如下:
|
JET_errInvalidParameter |
提供的其中一个参数包含意外值或包含一个值,当与另一个参数的值组合时,该值没有意义。 在以下情况下 ,JetRenameTable 可能会发生这种情况:
|
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) 实现。 |