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