JetOpenDatabase 函式
適用于: Windows |Windows Server
JetOpenDatabase 函式
JetOpenDatabase函式會使用JetAttachDatabase或JetAttachDatabase2函式開啟先前附加的資料庫,以便與資料庫會話搭配使用。 同一個資料庫可以多次呼叫此函式。
JET_ERR JET_API JetOpenDatabase(
__in JET_SESID sesid,
__in const tchar* szFilename,
__in_opt const tchar* szConnect,
__out JET_DBID* pdbid,
__in JET_GRBIT grbit
);
參數
sesid
要用於 API 呼叫的資料庫會話內容。
szFilename
要開啟的資料庫名稱。
szConnect
保留的。 設定為 NULL。
pdbid
在成功呼叫時,緩衝區的指標包含資料庫的識別碼。 如果呼叫失敗,則此值為未定義。
grbit
指定下列選項之零或多個位群組。
值 |
意義 |
---|---|
JET_bitDbExclusive |
只允許單一會話附加資料庫。 一般而言,數個會話可以開啟資料庫。 |
JET_bitDbReadOnly |
防止修改資料庫。 |
傳回值
此函式會傳回具有下列其中一個傳回碼 的 JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
Description |
---|---|
JET_errSuccess |
作業已成功完成。 |
JET_errDatabaseInUse |
已要求獨佔存取權,但無法授與。 |
JET_errDatabaseInvalidPath |
szFilename中提供了不正確路徑。 szFilename 必須是非 Null,並參考有效的檔案。 |
JET_errDatabaseLocked |
另一個會話已經使用 JET_bitDbExclusive) 獨佔方式開啟資料庫 (。 |
JET_errDatabaseNotFound |
先前未附加資料庫 (請參閱 JetAttachDatabase) 。 |
JET_errInvalidDatabase |
嘗試開啟不是有效資料庫檔案的檔案。 |
JET_errOneDatabasePerSession |
嘗試開啟多個資料庫,並已設定 JET_paramOneDatabasePerSession 。 如需詳細資訊,請參閱 系統參數。 |
JET_wrnFileOpenReadOnly |
檔案已附加為唯讀,但 JetOpenDatabase 未傳遞JET_bitDbReadOnly。 資料庫仍會以唯讀存取權開啟。 |
規格需求
需求 | 值 |
---|---|
用戶端 |
需要 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 |
實作為 JetOpenDatabaseW (Unicode) 和 JetOpenDatabaseA (ANSI) 。 |
另請參閱
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetAttachDatabase2
JetSetSystemParameter
系統參數