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
次のオプションの 0 個以上を指定するビットのグループ。
値 |
説明 |
---|---|
JET_bitDbExclusive |
データベースのアタッチを許可するセッションは 1 つだけです。 通常、複数のセッションでデータベースを開くことができます。 |
JET_bitDbReadOnly |
データベースの変更を防止します。 |
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
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を渡しませんでした。 データベースは引き続き読み取り専用で開かれます。 |
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
Unicode |
JetOpenDatabaseW (Unicode) および JetOpenDatabaseA (ANSI) として実装されます。 |
参照
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetAttachDatabase2
JetSetSystemParameter
システム パラメーター