Visual Studio 2010 Ultimate、.Net Framework バージョン 4.0、および Access データベースを使用して Windows アプリケーションのセットアップを作成しました。既定の場所に適切にインストールされていますが、ユーザーがこの場所からファイルまたはデータを削除した場合、何ができるか知りたいです。このために何をしますか?正しい方法は何ですか?
1 に答える
それを行うには多くの選択肢があります。
1. MS Access データベース ファイルのコンパイル済み実行可能バージョンを使用します。
データベースを実行可能ファイルにコンパイルできます。
しかし、C# などの他のプログラミング言語からアクセスできるかどうかはわかりません。インターネットで検索する必要があると思います。
MS Access 2013 の場合:
[ファイル] -> [名前を付けて保存] -> [データベースに名前を付けて保存] - > [ ACCDE を作成] に移動します。「ファイルは実行可能ファイルのみにコンパイルされます。」
MS Access 2010 の場合:
ファイルに移動->保存して公開->データベースに名前を付けて保存-> ACCDE を作成
MS Access 2007 の場合:
[データベース ツール] リボン タブ -> [ ACCDEの作成] ([データベース ツール] グループ内) に移動します。
2. データベースをパスワードで暗号化します。
パスワードを使用して MS Access データベース ファイルを保存できます。このようにして、データベースにアクセスするためのデータベース接続文字列にパスワードを設定する必要があります。
MS Access 2013 の場合:
[ファイル] -> [情報] -> [パスワードで暗号化] に移動します。「パスワードを使用してデータベースへのアクセスを制限します。2007 Microsoft Access ファイル形式以降を使用するファイルは暗号化されます。」
[ファイル] -> [情報] -> [データベースの復号化]に移動し、「このデータベースからパスワードを削除します。」
MS Access 2010 の場合:
[ファイル] -> [情報] -> [パスワードで暗号化] に移動します
[ファイル] -> [情報] -> [データベースの復号化] に移動します
MS Access 2007 の場合:
[データベース ツール] リボン タブ -> [パスワードで暗号化] ([データベース ツール] グループ内) に移動します。
[データベース ツール] リボン タブ -> [データベースの復号化] ([データベース ツール] グループ内) に移動します。
3. メイン データベースをバックアップします。
データベースのバックアップ バージョンを別の場所に作成できます。次の 2 つの方法でこれを行うことができます。
MS Access のバックアップ機能を使用して、データベースからバックアップ ファイルを作成するためのコードをいくつか記述します。これは、MS Access プログラムから手動で行うことができます。
MS Access 2013 の場合:
[ファイル] -> [名前を付けて保存] -> [データベースに名前を付けて保存] -> [データベースのバックアップ] に移動します。「重要なデータベースを定期的にバックアップして、データの損失を防ぎます。」
MS Access 2010 の場合:
[ファイル] -> [保存して公開] -> [データベースに名前を付けて保存] -> [データベースのバックアップ]に移動します。
MS Access 2007 の場合:
[ Microsoft Office ボタン] -> [管理] -> [データベースのバックアップ] ([このデータベースの管理] の下) に移動します。
バックアップ ファイルを作成するには、そのためのコードをいくつか記述して、ファイルのコピーを作成するだけです。
両方を実行するシナリオは次のとおりです。
エンドユーザーによって閉じられたアプリケーション プログラムの終了時間のコードを追加または呼び出します。コードをバックグラウンド スレッドで実行します。次のような場所にコピーまたはバックアップします。
- %WINDIR%..\ProgramData\YourSubFolder(s)
- %USERPROFILE%\AppData\Local\YourSubFolder(s)
- %USERPROFILE%\AppData\LocalLow\YourSubFolder(s)
- %USERPROFILE%\AppData\Roaming\YourSubFolder(s)
- 他の場所のような:
- プログラムのルート フォルダーまたはサブフォルダー内の別のフォルダー
- 必要な場所に別のフォルダー
- 等。
ヒント:データベース ファイル(プログラムのルート フォルダーまたはサブフォルダーにある)および/またはそのバックアップ ファイル(別の場所にある) の属性を、読み取り専用、非表示、システム、読み取り専用に変更できます。 + 隠し、読み取り専用 + システム、隠し + システムまたは読み取り専用 + 隠し + セキュリティを強化するためのシステム。
- 項目を表示する既定のモードでは、隠しファイルは表示されません。そのため、非表示のアイテムを表示するには、次の操作を行う必要があります。
また
- アイテムを表示するデフォルト モードではシステム ファイルを表示できません。そのため、システム アイテムを参照するには、次の手順を実行する必要があります。
このシナリオを実行すると、プログラムの起動時に実行するコードを追加して、フォルダーにデータベースがあるかどうかを確認できます。メイン データベースが見つからない場合は、データベースをバックアップ フォルダーからアプリケーション フォルダー/サブフォルダーの最初のフォルダーにコピーするだけです。
4. メイン データベースとバックアップ データベースのセキュリティ属性を変更します。
メイン データベース(プログラムのルート フォルダーまたはサブフォルダーにある)とそのバックアップ ファイル(別の場所にある) のセキュリティ属性を変更して、両方へのアクセスを次のように制限できます。
エンドユーザーによって閉じられたアプリケーション プログラムの終了時に、コードを追加または呼び出します。メイン データベースをバックアップするためのバックグラウンド スレッドを完了した後、コードを実行します (バックアップ シナリオを使用している場合)。これらのコードは、セキュリティ属性を特定の Windows OS またはユーザー定義(使用する場合はユーザーが定義する必要があります)のグループまたはユーザーに変更する必要があります。この方法では、プログラムが実行されていない場合、誰も両方のデータベース ファイルにアクセスできません。
アプリケーション プログラムの起動時に、両方のデータベースのセキュリティ属性を変更するためのコードを追加または呼び出す必要があることに注意してください。アプリケーションからアクセスできる必要があるためです。
グループを使用する場合は、次の操作を実行できます。
上で述べたことの順に、最良の解決策は次のとおりです。
- ハイブリッド方式:
すべての方法を組み合わせて、より優れた安全な方法を実現します。
MS Access データベース ファイルのコンパイル済み実行可能バージョン+パスワードによる暗号化+メイン データベースのバックアップ+両方のデータベースのセキュリティ属性の変更