在CD-ROM上分發小型數據庫的好方法是什麼?要在CD上分發的數據庫
數據庫必須加密。 它必須在WinXP和Vista上運行。 該應用程序是用C#編寫的,也分佈在CD上。 記錄只能讀取,不能寫入。
它可以運行安裝程序,但我們不希望這樣做。
數據庫有100000條記錄,性能不是主要目標。
編輯: 是的,用戶將不得不輸入密碼來解密數據庫。
在CD-ROM上分發小型數據庫的好方法是什麼?要在CD上分發的數據庫
數據庫必須加密。 它必須在WinXP和Vista上運行。 該應用程序是用C#編寫的,也分佈在CD上。 記錄只能讀取,不能寫入。
它可以運行安裝程序,但我們不希望這樣做。
數據庫有100000條記錄,性能不是主要目標。
編輯: 是的,用戶將不得不輸入密碼來解密數據庫。
老實說...如果你能做到,我會使用加密的XML文件。 沒有安裝,可以在任何地方運行(文本文件沒有依賴關係),速度更快,並且因爲不需要更新,所以更容易。
MS-SQL(Express)對只讀數據庫有一個明確的設置。我不確定加密。
我很確定Sql Server Compact(SSCE)也將允許只讀,並且它支持加密。但是你必須在某個地方存儲密碼...
SSCE可能會允許你運行W/O設置。
考慮到數據的大小,還可以使用填充並保存到磁盤的數據集。您可以使用標準庫進行加密和壓縮。
SQL Server CE可以打開數據庫r/only:http://msdn.microsoft.com/en-us/library/ms171817(SQL.90).aspx – Richard 2009-05-28 10:29:34
SQL Server CE是支持加密的SqlServer(CE代表Compact Edition)的精簡版。數據庫包含在一個文件中。
該軟件包含一系列與您的exe並排複製的DLL。
(不要被CE所迷惑:有一個桌面Windows版本,除了Windows Mobile的版本)
如果你在英國官立機構工作,儘量不要離開CD在火車上或發送它在後... :)
我知道這是一個droll評論,但它提出了一個有效的點 - 爲什麼這個數據庫需要加密 - 它是否保存敏感數據?如果是這樣,那麼它不應該在CD上,尤其是在包含解密密鑰的應用程序旁邊! – JeeBee 2009-05-28 10:17:55
數據庫已經被加密
快速的問題:你如何解密?恰當地,通過讓用戶鍵入解密密碼,或者通過將解密密鑰添加到應用程序中,這意味着它可以輕鬆提取?
因爲如果是解決方案2,那麼可以通過完全放棄加密要求來擴大可能的數據庫選項。
我還在找一個嵌入式數據庫,並且我收到了based on the answers,我去了SQLite,那是easy to implement。
正如其他人指出的,有數據庫支持只讀訪問。
至於加密,SQLite的至少有一個extension supporting encryption
您也可以選擇任何只讀數據庫管理系統,並保持PK的和FK的,但加密內容字段中手動(代碼IE)
SQLite的是也是我的第一個想法,但儘管我一般不喜歡XML並考慮到只讀方面,但我認爲自定義XML加密可能是最佳選擇。逆向工程很難。
因此,您將包含數據庫解密密鑰以及加密數據庫的應用程序包括在內?還是應用程序打電話給中央服務器,根據用戶提供的一些驗證數據獲取解密密鑰? – JeeBee 2009-05-28 10:24:14
是的一切都在CD - 應用程序和數據庫上。我只想防止數據庫被別人使用,而不是我的應用程序。如果這甚至是可能的,我不確定。 – 2009-05-28 12:40:10