次の方法で共有


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
システム パラメーター