JetDetachDatabase2 関数
適用対象: Windows |Windows Server
JetDetachDatabase2 関数
JetDetachDatabase2 関数は、以前にデータベース セッションにアタッチされていたデータベース ファイルを解放します。
Windows XP:JetDetachDatabase2 は Windows XP で導入されています。
JET_ERR JET_API JetDetachDatabase2(
__in JET_SESID sesid,
__in const tchar* szFilename,
__in JET_GRBIT grbit
);
パラメーター
sesid
API 呼び出しに使用するデータベース セッション コンテキスト。
szFilename
デタッチするデータベースの名前。 szFilename が NULL または空の文字列の場合、sesid にアタッチされているすべてのデータベースがデタッチされます。
grbit
次のオプションの 0 個以上を指定するビットのグループ。
値 |
説明 |
---|---|
JET_bitForceCloseAndDetach |
データベースを強制的に閉じてデタッチします。 JET_bitForceCloseAndDetachがサポートされていない場合は、JET_errForceDetachNotAllowedが返されます。 |
JET_bitForceDetach |
強制的にデータベースをデタッチします。 JET_bitForceDetachがサポートされていない場合は、JET_errForceDetachNotAllowedが返されます。 |
戻り値
この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラー と エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errBackupInProgress |
データベースはバックアップ中であり、デタッチできません。 |
JET_errDatabaseInUse |
データベースは JetOpenDatabase によって開かれています。 デタッチする前に、データベースを閉じる必要があります。 |
JET_errDatabaseNotFound |
データベースが以前にアタッチされていません ( JetAttachDatabase または JetAttachDatabase2 を参照してください)。 |
JET_errForceDetachNotAllowed |
JET_bitForceDetachはサポートされていません。 |
JET_errInTransaction |
トランザクション中にデータベースをデタッチしようとしました。 |
解説
アタッチされたデータベースが ( JetAttachDatabase を使用して) 開かれた場合は、デタッチする前に JetCloseDatabase で閉じる必要があります。
Windows 2000 のみ: JetTerm を呼び出す前にデタッチされていないデータベースは、 JetInit が次に呼び出されたときに自動的に再アタッチされます。
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista または Windows XP が必要です。 |
[サーバー] |
Windows Server 2008 または Windows Server 2003 が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
Unicode |
JetDetachDatabase2W (Unicode) および JetDetachDatabase2A (ANSI) として実装されます。 |
参照
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetAttachDatabase2
JetCloseDatabase
JetCreateDatabase
JetCreateDatabase2
JetInit
JetOpenDatabase
JetTerm