FireDAC.Phys.SQLite.TFDSQLiteSecurity.SetPassword
Delphi
procedure SetPassword;
C++
void __fastcall SetPassword();
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | FireDAC.Phys.SQLite.pas FireDAC.Phys.SQLite.hpp |
FireDAC.Phys.SQLite | TFDSQLiteSecurity |
説明
パスワードを追加し、データベースを暗号化します。
SetPassword メソッドを使用すると、パスワードを追加し、暗号化されていないデータベースを暗号化することができます。 このオペレーションを実行するには、Password が指定されていなければなりません。
SetPassword 呼び出しを行う前のよい習慣:
- TFDSQLiteBackup を使用するか「手動で」、元のデータベース ファイルをバックアップ。
- CheckOnly を使用して、元のデータベース ファイルを検証。 エラーがある場合には、データベースを暗号化してはいけません。
メモ: 現在、SQLite 暗号化の制限により、データベースに、1 DB ページより大きいサイズの値を持つ blob フィールドがあり、データベースが SQLite キャッシュに合わなかった場合に、SetPassword 呼び出しは失敗します。 この場合、暗号化されたデータベースにさらにアクセスすると、「database disk image is malformed」エラーが返されます。
この場合、
- バックアップから元のデータベースを復元する。
- soSetLargeCache を Options に含める。
- SetPassword を実行する。
メモ: これと同じ懸念事項が、ChangePassword と RemovePassword 呼び出しにも言えます。