JetDupSession 函式
適用于: Windows |Windows Server
JetDupSession 函式
JetDupSession 函式會啟動會話,並初始化並傳回 ESE 會話控制碼 (JET_SESID) 。 會話會控制資料庫的所有存取權,並用來控制交易的範圍。 會話可用來開始、認可或中止交易。 會話也可用來附加、建立或開啟資料庫。 會話會當做所有 DDL 和 DML 作業的內容使用。 若要增加資料庫的並行和平行存取,可以開始多個會話。
注意 此 API 會以 JetBeginSession 的所有方式在傳入的會話實例上運作。 不建議使用此函式,最好使用 JetBeginSession 。
JET_ERR JET_API JetDupSession(
__in JET_SESID sesid,
__out JET_SESID* psesid
);
參數
sesid
要作為複製或啟動會話的來源會話。
psesid
會話在成功傳回時初始化之變數的指標。
傳回值
此函式會傳回具有下列其中一個傳回碼 的 JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
Description |
---|---|
JET_errSuccess |
作業已成功完成。 |
JET_errClientRequestToStopJetService |
無法完成作業,因為與會話相關聯之實例上的所有活動因 JetStopService呼叫而停止。 |
JET_errInstanceUnavailable |
無法完成作業,因為與會話相關聯的實例發生嚴重錯誤,需要撤銷所有資料的存取權,以保護該資料的完整性。 此錯誤只會由 Windows XP 和更新版本傳回。 |
JET_errInvalidParameter |
提供的其中一個參數包含非預期的值,或包含與另一個參數的值結合時沒有意義的值。 |
JET_errNotInitialized |
無法完成作業,因為與會話相關聯的實例尚未初始化。 |
JET_errOutOfMemory |
作業失敗,因為無法配置記憶體。 |
JET_errOutOfSessions |
引擎將允許用戶端啟動的會話數目有限。 您可以使用 JetSetSystemParameter 搭配 JET_paramMaxSessions 常數來變更此值。 會話的預設數目為 16。 如需JET_paramMaxSessions的詳細資訊,請參閱系統參數。 |
JET_errRestoreInProgress |
無法完成作業,因為與會話相關聯的實例上正在進行還原作業。 |
JET_errTermInProgress |
無法完成作業,因為與會話相關聯的實例正在關閉。 |
成功時,會話控制碼會初始化,而且可用於資料庫作業。
失敗時,沒有可用的會話,或無法初始化新的會話。
規格需求
需求 | 值 |
---|---|
用戶端 |
需要 Windows Vista、Windows XP 或 Windows 2000 Professional。 |
Server |
需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。 |
標頭 |
在 Esent.h 中宣告。 |
程式庫 |
使用 ESENT.lib。 |
Dll |
需要ESENT.dll。 |
另請參閱
JET_SESID
JetBeginSession
JetSetSystemParameter
JetStopService
系統參數