共用方式為


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 字元組成。

  • 物件名稱長度至少必須是一個字元。

  • 物件名稱長度不能超過 64) 個字元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

在唯讀交易的範圍內,無法完成更新。 唯讀交易是一種交易,已透過JET_bitTransactionReadOnly呼叫 JetBeginTransaction2 來啟動。

此錯誤只會由 Windows XP 和更新版本傳回。

成功時,指定資料庫中指定資料表的名稱會永久變更為新的名稱。

失敗時,不會變更資料庫狀態。

規格需求

需求

用戶端

需要 Windows Vista、Windows XP 或 Windows 2000 Professional。

Server

需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。

標頭

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要ESENT.dll。

Unicode

實作為 JetRenameTableW (Unicode) 和 JetRenameTableA (ANSI) 。

另請參閱

JET_DBID
JET_ERR
JET_SESID
JetBeginTransaction2