JetCreateDatabase 関数

適用対象: Windows |Windows Server

JetCreateDatabase 関数

JetCreateDatabase 関数は、ESE データベース エンジンで使用するデータベース ファイルを作成してアタッチします。 cpgDatabaseSizeMax を 0 に設定して JetCreateDatabase2 を呼び出すことは、szConnect が NULL に設定された JetCreateDatabase を呼び出すのと同じです。 現在、インスタンスごとに最大 7 つのデータベースを作成できます。

    JET_ERR JET_API JetCreateDatabase(
      __in          JET_SESID sesid,
      __in          JET_PCSTR szFilename,
      __in_opt      JET_PCSTR szConnect,
      __out         JET_DBID* pdbid,
      __in          JET_GRBIT grbit
    );

パラメーター

sesid

API 呼び出しに使用するデータベース セッション コンテキスト。

szFilename

作成するデータベースの名前です。

szConnect

将来利用するために予約されています。 NULL に設定されている。

pdbid

正常な呼び出し時にデータベースの識別子を含むバッファーへのポインター。 失敗した場合、値は未定義です。

grbit

次のオプションの 0 個以上を指定するビットのグループ。

説明

JET_bitDbOverwriteExisting

既定では、 JetCreateDatabase が呼び出され、データベースが既に存在する場合、API 呼び出しは失敗し、元のデータベースは上書きされません。 JET_bitDbOverwriteExistingこの動作が変更され、古いデータベースは新しいデータベースで上書きされます。 Windows XP 以降。

JET_bitDbRecoveryOff

JET_bitDbRecoveryOffはログ記録をオフにします。 このビットを設定すると、致命的なイベントの後にログ ファイルを再生し、データベースを一貫した使用可能な状態に復旧する機能が失われます。

JET_bitDbShadowingOff

JET_bitDbShadowingOff設定すると、一部の内部データベース構造 (シャドウ) の重複が無効になります。 これらの構造体の重複は回復性のために行われるので、JET_bitDbShadowingOffを設定すると、その回復性は削除されます。

戻り値

この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラーエラー処理パラメーター」を参照してください。

リターン コード

説明

JET_errSuccess

操作は正常に完了しました。

JET_errDatabaseDuplicate

szFilename にという名前のデータベースが既に存在します。 このエラーが返されると、データベースはアタッチされません。

JET_errDatabaseInUse

排他アクセスが要求されたが、許可できなかった場合、または別のセッションが既にデータベースを排他的に開いている場合は、返すことができます。

JET_errDatabaseInvalidPages

cpgDatabaseSizeMax がデータベースで許可されているページの最大数を超える場合に返されます。 現在の最大値は2147483646 (0x7ffffffe)。

JET_errDatabaseInvalidPath

szFilename に無効なパスが指定されました。 szFilename は NULL 以外である必要があります。 既定では、 szFilename は 存在するディレクトリを指す必要があります。 JET_paramCreatePathIfNotExistが設定されている場合、パスが作成されます (「JetSetSystemParameter」を参照してください)。

JET_errDatabaseLocked

(JET_bitDbExclusive を使用して) 別のセッションが既にデータベースを排他的に開いていることを示します。

JET_errDatabaseNotFound

データベースが以前にアタッチされていません ( 「JetAttachDatabase」を参照してください)。

JET_errDatabaseSharingViolation

データベース ファイルは、別のセッションによって既にアタッチされています。

JET_errInTransaction

トランザクション中にデータベースを作成しようとしました。

JET_errInvalidDatabase

有効なデータベース ファイルではないファイルを開こうとしました。

JET_errOneDatabasePerSession

複数のデータベースを開こうとし、JET_paramOneDatabasePerSessionが設定されました。 「 データベース パラメーター」を参照してください

JET_errOutOfMemory

メモリを割り当てられなかったため、操作に失敗しました。

JET_errTooManyAttachedDatabases

インスタンスごとにアタッチできるデータベースの数は有限です。 制限は現在、インスタンスあたり 7 つのデータベースです。

JET_wrnDatabaseAttached

データベース ファイルがこのセッションによって既にアタッチされていることを示す致命的でない警告。

JET_wrnFileOpenReadOnly

JET_wrnFileOpenReadOnlyは、ファイルが読み取り専用で添付されたが、 JetCreateDatabase がJET_bitDbReadOnly渡されなかったことを示します。 データベースは引き続き読み取り専用アクセスで開かれます。

注釈

szFilename に指定されたデータベースが存在し、JET_bitDbOverwriteExistingが渡されなかった場合、API 呼び出しは失敗します。 JET_bitDbOverwriteExistingが渡された場合は、最初に古いデータベース ファイルが削除されます。

API によってデータベース ファイルが作成され、別のエラーが発生した場合は、クリーンされ、ファイルが削除されます。

JetCreateDatabase によって、データベースが暗黙的に開きます。 後で JetOpenDatabase を呼び出す必要はありません。

要件

要件

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

JetCreateDatabaseW (Unicode) および JetCreateDatabaseA (ANSI) として実装されます。

参照

拡張可能なストレージ エンジン ファイル
JET_ERR
JET_DBID
JET_GRBIT
JET_SESID
JetAttachDatabase
JetCloseDatabase
JetCreateDatabase2
JetOpenDatabase
JetSetSystemParameter
システム パラメーター