2009-05-28 15 views
0

小さなデータベースをCD-ROMに配布するにはどうすればよいですか?CDで配布するデータベース

データベースを暗号化する必要があります。 WinXPとVistaで動作する必要があります。 アプリケーションはC#で書かれており、CDにも配布されています。 レコードは読み取られますが、書き込まれることはありません。

インストーラを実行するにはOKですが、実行しないことをお勧めします。

DBには100000レコードがあり、パフォーマンスは主要な目標ではありません。

EDIT: はい、ユーザーはデータベースを復号化するためにパスワードを入力する必要があります。

+2

暗号化されたデータベースの横にデータベース復号化キーを含むアプリケーションを含めるのですか?または、アプリケーションは、ユーザーが提供する認証データに基づいて復号キーを取得するために中央サーバーを呼び出しますか? – JeeBee

+0

はいすべてがCDアプリケーションとDBにあります。私はDBが私のアプリ以外のもので使われてしまうのを防ぐだけです。これが可能であれば、私はshureではない。 –

答えて

7

これにはSQLiteを使用します。

あなたの質問を実際に読んでも、パフォーマンスや更新/追加の必要がないとすれば、フラットファイルまたはXMLファイルを使用することもできます。

あなたのアプリが成熟するにつれてこのデータソースを追加/更新する必要がある場合は、SQLiteを使用してください。

3

正直なところ...私は暗号化されたXMLファイルを使用します。 どこにもインストールしないでください(テキストファイルには依存関係がありません)。また、更新が不要なので、さらに簡単になります。

2

MS-SQL(Express)には、読み取り専用データベースの明示的な設定があります。私は暗号化についてはわかりません。

Sql Server Compact(SSCE)でも読み取り専用が許可されており、暗号化がサポートされていることは間違いありません。しかし、あなたはパスワードをどこかに保存しなければならないでしょう...

SSCEは、おそらく設定なしで実行することを許可します。

データサイズを指定すると、データセットを使用してディスクに格納して保存することもできます。暗号化と圧縮には標準ライブラリを使用できます。

+0

SQL Server CEはDBをr /のみ開くことができます:http://msdn.microsoft.com/en-us/library/ms171817(SQL.90).aspx – Richard

2

SQL Server CEは、暗号化をサポートするSqlServer(CEはコンパクトエディションの略)を削除したバージョンです。 DBは1つのファイルで構成されています。

このソフトウェアは、exeファイルと並行してコピーする一連のDLLで構成されています。

(CEによってだまされてはいけない:デスクトップのWindowsバージョンは、Windows Mobileのバージョンに加えてあります。)

+0

CEはCripple Editionを表しています:) – leppie

+0

Naaah!かわいいエディションです: - D –

+0

SQL Server CEにインストールがあります。 dllはそれを実行するのに十分ではありません。 – jle

2

あなたは英国の政府機関のために働く場合は、CDを残さないようにしてくださいどのようにあなたがそれを解読します:電車の中や郵便で送って... :)

+0

私はそれがドロールのコメントだと知っていますが、それは有効なポイントをもたらします。なぜこのデータベースを暗号化する必要があるのですか?機密データを保持しているのですか?もしそうなら、それはCD上にあるべきではなく、特に解読キーを含むアプリケーションのそばにあるべきです! – JeeBee

2

データベースは

クイック質問を暗号化する必要がありますか?適切に、ユーザーが解読パスワードを入力するか、解読キーをアプリケーションに追加することで、簡単に解凍できます。

ソリューション2の場合は、暗号化要件をすべて削除することで、可能なデータベースオプションを広げることができるためです。

組み込みのデータベースも探していましたが、based on the answersが届きました。私はeasy to implementというSQLiteを使いました。

0

他にも指摘されているように、読み取り専用アクセスをサポートするデータベースがあります。暗号化については

、SQLiteのは、少なくとも1 extension supporting encryption

を持っています。また、

0
(コードによって)すべての読み取り専用のDBMSを選択し、PK年代とFKの維持が、手動で内容フィールドを暗号化してもよい

のSQLiteました私の最初の考えですが、XMLの一般的な嫌悪感と読み込み専用の側面を考慮しても、XMLのカスタム暗号化が最適な選択肢かもしれません。リバースエンジニアリングが難しいでしょう。

関連する問題