次の方法で共有


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

デタッチするデータベースの名前。 szFilenameNULL または空の文字列の場合、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