CDaoWorkspace::CompactDatabase
更新 : 2007 年 11 月
指定された Microsoft Jet (.MDB) データベースを再構成します。
static void PASCAL CompactDatabase(
LPCTSTR lpszSrcName,
LPCTSTR lpszDestName,
LPCTSTR lpszLocale = dbLangGeneral,
int nOptions = 0
);
static void PASCAL CompactDatabase(
LPCTSTR lpszSrcName,
LPCTSTR lpszDestName,
LPCTSTR lpszLocale,
int nOptions,
LPCTSTR lpszPassword
);
パラメータ
lpszSrcName
既存の閉じられているデータベース名。"C:\\MYDB.MDB" のようなフルパスとファイル名を指定できます。ファイル名に拡張子がある場合には、その拡張子を指定する必要があります。ネットワークが統一名前付け規約 (UNC) をサポートしているときは、"\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB" のように、ネットワーク パスも指定できます。"\" は C++ のエスケープ文字なので、パス文字列には 2 つの円記号が必要です。lpszDestName
作成する再構成後のデータベースのフルパス名。lpszSrcName と同じようにネットワーク パスも指定できます。lpszDestName には、lpszSrcName と同じデータベース ファイルは指定できません。lpszPassword
パスワードで保護されたデータベースを再構成するときに使用するパスワードです。パスワードをパラメータに取るバージョンの CompactDatabase を使用する場合には、すべてのパラメータを設定してください。また、これは接続パラメータなので、専用の形式 ";PWD=lpszPassword" を使用します。たとえば、;PWD="Happy" のように指定します。先頭のセミコロンは必須です。lpszLocale
lpszDestName の作成で、照合順序を指定するために使用される文字列式。既定値 dbLangGeneral (以下を参照) を受け入れてこの引数を省略すると、新しいデータベースのロケールは、元のデータベースと同じになります。次の値を使用できます。dbLangGeneral 英語、ドイツ語、フランス語、ポルトガル語、イタリア語、現代スペイン語
dbLangArabic アラビア語
dbLangCyrillic ロシア語
dbLangCzech チェコ語
dbLangDutch オランダ語
dbLangGreek ギリシャ語
dbLangHebrew ヘブライ語
dbLangHungarian ハンガリー語
dbLangIcelandic アイスランド語
dbLangNordic スカンジナビア語 (Microsoft Jet データベース エンジン バージョン 1.0 のみ)
dbLangNorwdan ノルウェー語とデンマーク語
dbLangPolish ポーランド語
dbLangSpanish 古スペイン語
dbLangSwedfin スウェーデン語とフィンランド語
dbLangTurkish トルコ語
nOptions
lpszDestName で指定されるターゲット データベースの 1 つ以上のオプションを示します。既定値を受け入れて、この引数を省略すると、lpszDestName には lpszSrcName と同じ暗号化、同じバージョンが指定されます。dbEncrypt オプションまたは dbDecrypt オプションと、バージョン オプションの 1 つをビットごとの OR 演算子で組み合わせて指定できます。次の値が指定できます。この値は、データベースの形式を指定するもので、データベース エンジンのバージョンを指定するものではありません。dbEncrypt 再構成で、データベースを暗号化します。
dbDecrypt 再構成で、データベースを暗号化しません。
dbVersion10 再構成で、Microsoft Jet データベース エンジン Version 1.0 を使用するデータベースを作成します。
dbVersion30 再構成で、Microsoft Jet データベース エンジン Version 1.1 を使用するデータベースを作成します。
dbVersion20 再構成で、Microsoft Jet データベース エンジン Version 2.0 を使用するデータベースを作成します。
dbVersion30 再構成で、Microsoft Jet データベース エンジン Version 3.0 を使用するデータベースを作成します。
オプション引数に dbEncrypt または dbDecrypt を使用して、再構成するデータベースを暗号化するかどうかを指定できます。暗号化定数を省略するか、dbDecrypt と dbEncrypt の両方を指定すると、lpszDestName には lpszSrcName と同じ暗号化が指定されます。オプション引数のバージョン定数の 1 つを使用して、再構成されるデータベースのデータ形式のバージョンを指定できます。この定数は、lpszDestName のデータ形式にだけ影響します。バージョン定数は 1 つだけ指定できます。バージョン定数を省略すると、lpszDestName のバージョンは lpszSrcName と同じバージョンになります。lpszSrcName のバージョンと同じかそれ以降のバージョンにだけ lpszDestName を再構成できます。
注意 : データベースが暗号化されていない場合は、ユーザーとパスワードのセキュリティを実装しても、データベースを構成するバイナリ ディスク ファイルを直接読み取ることができます。
解説
データベースのデータを変更すると、データベース ファイルは断片化され、必要以上のディスク領域を使用するようになります。定期的にデータベースを再構成して、データベース ファイルをデフラグメント化することをお勧めします。再構成されたデータベースは、通常小さくなります。データベースをコピーし、再構成する間に、照合順、暗号化、データ形式のバージョンの変更を選択することもできます。
注意 : |
---|
CompactDatabase メンバ関数は、Microsoft Access データベース全体をあるバージョンから他のバージョンにそっくり変換するわけではありません。データ形式だけが変換されます。フォームやレポートのような Microsoft Access で定義されたオブジェクトは変換されません。ただし、データは正しく変換されます。 |
ヒント : |
---|
データベース ファイルをコピーするには、CompactDatabase も使用できます。 |
データベースの再構成の詳細については、DAO ヘルプの「CompactDatabase Method」を参照してください。
必要条件
ヘッダー : afxdao.h